This is the mail archive of the
ecos-discuss@sources.redhat.com
mailing list for the eCos project.
shared object of CDL.
- From: Masato Taruishi <taru at debian dot org>
- To: ecos-discuss at sources dot redhat dot com
- Date: Thu, 08 Aug 2002 17:29:12 +0900
- Subject: [ECOS] 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