This is the mail archive of the ecos-discuss@sources.redhat.com mailing list for the eCos project.


Index Nav: [Date Index] [Subject Index] [Author Index] [Thread Index]
Message Nav: [Date Prev] [Date Next] [Thread Prev] [Thread Next]
Other format: [Raw text]

shared object of CDL.


The attached patch will create a shared object of CDL and
ecosconfig will use it. The version number of this shared object
is now libcdl.so.0.0.0 and soname is libcdl.0. It can be used by
sciprt languages such as perl, python, and ruby by creating
a libcdl binding for the script language (of course, there is no
binding yet).

In addition, the patch includes a support of concurrent make
to speed up compile time for SMP machines.

I remove diffs for auto-generated files such as configure and
Makefile.in etc, even though the repository includes these files
because it increases the size of this mail. So you need to invoke
the following command to enable this feature:

  * libtoolize
  * aclocal
  * automake
  * autoconf

in the following directory:

ecos/host/libcdl, ecos/host/infra and
ecos/host/tools/configtool/standalone/common/

I don't check this patch on Windows. 

Thanks


diff -urN ecos/host/infra/Makefile.am ecos/host/infra/Makefile.am
--- ecos/host/infra/Makefile.am	Fri May 18 06:32:28 2001
+++ ecos/host/infra/Makefile.am	Fri Jul 26 10:04:58 2002
@@ -68,8 +68,8 @@
 ## will always be built as libcyginfra.a, but it may get installed
 ## as cyginfra.lib.
 
-noinst_LIBRARIES      = libcyginfra.a
-libcyginfra_a_SOURCES = assert.cxx    \
+lib_LTLIBRARIES      = libcyginfra.la
+libcyginfra_la_SOURCES = assert.cxx    \
                         trace.cxx     \
                         checkdata.cxx \
                         testcase.cxx
@@ -81,7 +81,7 @@
 if MSVC
 all-local: cyginfra.lib
 
-cyginfra.lib: libcyginfra.a
+cyginfra.lib: libcyginfra.la
 	$(INSTALL) $< $@
 
 clean-local:
@@ -91,15 +91,6 @@
 	$(mkinstalldirs) $(DESTDIR)$(libdir)
 	$(INSTALL) cyginfra.lib $(DESTDIR)$(libdir)/cyginfra.lib
 
-else
-
-all-local:
-clean-local:
-
-install-exec-local: libcyginfra.a
-	$(mkinstalldirs) $(DESTDIR)$(libdir)
-	$(INSTALL) libcyginfra.a $(DESTDIR)$(libdir)/libcyginfra.a
-
 endif
 
 ## ----------------------------------------------------------------------------
@@ -142,37 +133,34 @@
 ## The header file copies should be part of the clean.
 CLEANFILES = $(copies)
 
-cyg/infra/cyg_type.h: cyg_type.h
-	@if [ -d cyg ] ; then true ; else mkdir cyg ; fi
-	@if [ -d cyg/infra ] ; then true ; else mkdir cyg/infra ; fi
+cyg/infra:
+	$(mkinstalldirs) cyg/infra
+
+cyg/infra/cyg_type.h: cyg_type.h cyg/infra
 	$(INSTALL_DATA) $(<) $(@)
 
-cyg/infra/cyg_ass.h: cyg_ass.h
-	@if [ -d cyg ] ; then true ; else mkdir cyg ; fi
-	@if [ -d cyg/infra ] ; then true ; else mkdir cyg/infra ; fi
+cyg/infra/cyg_ass.h: cyg_ass.h cyg/infra
 	$(INSTALL_DATA) $(<) $(@)
 
-cyg/infra/cyg_trac.h: cyg_trac.h
-	@if [ -d cyg ] ; then true ; else mkdir cyg ; fi
-	@if [ -d cyg/infra ] ; then true ; else mkdir cyg/infra ; fi
+cyg/infra/cyg_trac.h: cyg_trac.h cyg/infra
 	$(INSTALL_DATA) $(<) $(@)
 
-cyg/infra/testcase.h: testcase.h
-	@if [ -d cyg ] ; then true ; else mkdir cyg ; fi
-	@if [ -d cyg/infra ] ; then true ; else mkdir cyg/infra ; fi
+cyg/infra/testcase.h: testcase.h cyg/infra
 	$(INSTALL_DATA) $(<) $(@)
 
-pkgconf/infra.h : infra.h
-	@if [ -d pkgconf ] ; then true ; else mkdir pkgconf ; fi
+pkgconf:
+	$(mkinstalldirs) pkgconf
+
+pkgconf/infra.h : infra.h pkgconf
 	$(INSTALL_DATA) $(<) $(@)
 
-pkgconf/hostinfra.h : hostinfra.h
-	@if [ -d pkgconf ] ; then true ; else mkdir pkgconf ; fi
+pkgconf/hostinfra.h : hostinfra.h pkgconf
 	$(INSTALL_DATA) $(<) $(@)
 
-cyg/hal/basetype.h : basetype.h
-	@if [ -d cyg ] ; then true ; else mkdir cyg ; fi
-	@if [ -d cyg/hal ] ; then true ; else mkdir cyg/hal ; fi
+cyg/hal:
+	$(mkinstalldirs) cyg/hal
+
+cyg/hal/basetype.h : basetype.h cyg/hal
 	$(INSTALL_DATA) $(<) $(@)
 
 ## ----------------------------------------------------------------------------
@@ -183,14 +171,14 @@
 ## ----------------------------------------------------------------------------
 ## Add specific dependencies for all source files
 
-assert.$(OBJEXT) :  Makefile \
+assert.lo :  Makefile \
                     pkgconf/infra.h      \
                     pkgconf/hostinfra.h  \
                     cyg/infra/cyg_type.h \
                     cyg/hal/basetype.h   \
                     cyg/infra/cyg_ass.h
 
-trace.$(OBJEXT) :   Makefile \
+trace.lo :   Makefile \
                     pkgconf/infra.h      \
                     pkgconf/hostinfra.h  \
                     cyg/infra/cyg_type.h \
@@ -198,14 +186,14 @@
                     cyg/infra/cyg_ass.h  \
                     cyg/infra/cyg_trac.h
 
-checkdata.$(OBJEXT) : Makefile \
+checkdata.lo : Makefile \
                       cyg/infra/cyg_ass.h       \
                       pkgconf/infra.h           \
                       pkgconf/hostinfra.h       \
                       cyg/infra/cyg_type.h      \
                       cyg/hal/basetype.h
 
-testcase.$(OBJEXT): Makefile \
+testcase.lo: Makefile \
                     cyg/infra/testcase.h \
                     cyg/infra/cyg_type.h \
                     cyg/hal/basetype.h   \
diff -urN ecos/host/infra/configure.in ecos/host/infra/configure.in
--- ecos/host/infra/configure.in	Fri Aug 25 17:32:38 2000
+++ ecos/host/infra/configure.in	Fri Jul 26 11:36:00 2002
@@ -64,7 +64,8 @@
 AC_PROG_MAKE_SET
 AC_PROG_CC
 AC_PROG_CXX
-AC_PROG_RANLIB
+AC_DISABLE_SHARED
+AC_PROG_LIBTOOL
 AC_OBJEXT
 AC_EXEEXT
 CYG_AC_PROG_MSVC
diff -urN ecos/host/libcdl/Makefile.am ecos/host/libcdl/Makefile.am
--- ecos/host/libcdl/Makefile.am	Fri May 18 06:32:28 2001
+++ ecos/host/libcdl/Makefile.am	Fri Jul 26 10:04:58 2002
@@ -81,8 +81,8 @@
            component.cxx    \
            option.cxx
 
-noinst_LIBRARIES = libcdl.a
-libcdl_a_SOURCES = $(sources)
+lib_LTLIBRARIES = libcdl.la
+libcdl_la_SOURCES = $(sources)
 
 if MSVC
 all-local: cdl.lib
@@ -97,13 +97,6 @@
 	$(mkinstalldirs) $(DESTDIR)$(libdir)
 	$(INSTALL) cdl.lib $(DESTDIR)$(libdir)/cdl.lib
 
-else
-
-all-local:
-clean-local:
-install-exec-local: libcdl.a
-	$(mkinstalldirs) $(DESTDIR)$(libdir)
-	$(INSTALL) libcdl.a $(DESTDIR)$(libdir)/libcdl.a
 endif
 
 
diff -urN ecos/host/libcdl/configure.in ecos/host/libcdl/configure.in
--- ecos/host/libcdl/configure.in	Fri Aug 25 17:32:39 2000
+++ ecos/host/libcdl/configure.in	Fri Jul 26 10:04:58 2002
@@ -61,14 +61,14 @@
 AC_PROG_MAKE_SET
 AC_PROG_CC
 AC_PROG_CXX
-AC_PROG_RANLIB
+dnl AC_PROG_RANLIB
 AC_OBJEXT
 AC_EXEEXT
 CYG_AC_PROG_MSVC
 CYG_AC_PROG_STANDARD_COMPILER_FLAGS
 
 dnl AM_DISABLE_SHARED
-dnl AM_PROG_LIBTOOL
+AM_PROG_LIBTOOL
 
 dnl Allow the usual assertion and trace related options.
 CYG_AC_ARG_INFRASTRUCTURE
diff -urN ecos/host/tools/configtool/standalone/common/Makefile.am ecos/host/tools/configtool/standalone/common/Makefile.am
--- ecos/host/tools/configtool/standalone/common/Makefile.am	Mon May 20 22:19:27 2002
+++ ecos/host/tools/configtool/standalone/common/Makefile.am	Fri Jul 26 10:04:58 2002
@@ -52,8 +52,6 @@
           -link -libpath=@cyg_ac_infra_libdir@ -libpath=@cyg_ac_cdl_libdir@ -libpath=@cyg_ac_tcl_libdir@
 else
 LIBS     = -L@cyg_ac_infra_libdir@ -L@cyg_ac_cdl_libdir@ -L@cyg_ac_tcl_libdir@ \
-           $(foreach x,@cyg_ac_cdl_libraries@,-l$x) \
-           $(foreach x,@cyg_ac_infra_libraries@,-l$x) \
            @cyg_ac_tcl_libs@
 endif
 
@@ -63,7 +61,8 @@
 if MSVC
 ecosconfig_DEPENDENCIES = @cyg_ac_cdl_libdir@/cdl.lib @cyg_ac_infra_libdir@/cyginfra.lib
 else
-ecosconfig_DEPENDENCIES = @cyg_ac_cdl_libdir@/libcdl.a @cyg_ac_infra_libdir@/libcyginfra.a
+ecosconfig_DEPENDENCIES = @cyg_ac_cdl_libdir@/libcdl.la @cyg_ac_infra_libdir@/libcyginfra.la
+ecosconfig_LDADD = @cyg_ac_cdl_libdir@/libcdl.la @cyg_ac_infra_libdir@/libcyginfra.la
 endif
 
 
diff -urN ecos/host/tools/configtool/standalone/common/configure.in ecos/host/tools/configtool/standalone/common/configure.in
--- ecos/host/tools/configtool/standalone/common/configure.in	Mon May 20 22:19:28 2002
+++ ecos/host/tools/configtool/standalone/common/configure.in	Fri Jul 26 10:04:58 2002
@@ -51,6 +51,7 @@
 AC_CANONICAL_HOST
 AC_PROG_CC
 AC_PROG_CXX
+AC_PROG_LIBTOOL
 AC_OBJEXT
 AC_EXEEXT
 CYG_AC_PROG_MSVC
diff -urN ecos/host/tools/configtool/standalone/wxwin/Makefile ecos/host/tools/configtool/standalone/wxwin/Makefile
--- ecos/host/tools/configtool/standalone/wxwin/Makefile	Fri Jul 26 11:38:20 2002
+++ ecos/host/tools/configtool/standalone/wxwin/Makefile	Fri Jul 26 10:04:58 2002
@@ -149,7 +149,7 @@
   -DecUSE_EXPERIMENTAL_CODE=$(USEEXPERIMENTALCODE)\
   -I/usr/include/tcl8.3
 
-EXTRALDFLAGS=-L$(ECOSBUILDDIR)/infra -L$(ECOSBUILDDIR)/libcdl -lcdl -lcyginfra -ltcl8.3
+EXTRALDFLAGS=-L$(ECOSBUILDDIR)/infra/.libs -L$(ECOSBUILDDIR)/libcdl/.libs -lcdl -lcyginfra -ltcl8.3
 
 .SUFFIXES:	.o .cpp .cxx
 
@@ -402,4 +402,4 @@
 
 
 help:
-	@echo "Targets: full, ecc, wx, ct, cleanall, cleanct, cleanwx, installbinary, installtarball"
\ No newline at end of file
+	@echo "Targets: full, ecc, wx, ct, cleanall, cleanct, cleanwx, installbinary, installtarball"

-- 
Before posting, please read the FAQ: http://sources.redhat.com/fom/ecos
and search the list archive: http://sources.redhat.com/ml/ecos-discuss


Index Nav: [Date Index] [Subject Index] [Author Index] [Thread Index]
Message Nav: [Date Prev] [Date Next] [Thread Prev] [Thread Next]