libatomic-ops is configured, together with ECL

This commit is contained in:
Juan Jose Garcia Ripoll 2010-10-30 21:18:05 +02:00
parent 1b8c9534be
commit 3e6afeb2a1
5 changed files with 49 additions and 1 deletions

View file

@ -105,7 +105,7 @@ bin/ecl-config: bin/ecl-config.pre
-e 's,~A,$(libdir),' bin/ecl-config.pre > bin/ecl-config
@LIBPREFIX@eclmin.@LIBEXT@: @LIBPREFIX@eclgmp.@LIBEXT@ @LIBPREFIX@eclgc.@LIBEXT@ lsp/config.lsp $(ECL_CMPDIR)/cmpdefs.lsp ecl/external.h $(top_srcdir)/c/*.d
@LIBPREFIX@eclmin.@LIBEXT@: @LIBPREFIX@eclgmp.@LIBEXT@ @LIBPREFIX@eclatomic.@LIBEXT@ @LIBPREFIX@eclgc.@LIBEXT@ lsp/config.lsp $(ECL_CMPDIR)/cmpdefs.lsp ecl/external.h $(top_srcdir)/c/*.d
cd c; $(MAKE)
@LIBPREFIX@eclgc.@LIBEXT@:
test -d ecl/gc || mkdir ecl/gc
@ -115,6 +115,11 @@ bin/ecl-config: bin/ecl-config.pre
cp -rf $(srcdir)/gc/include/private/*.h ecl/gc/private/ && \
mv @LIBPREFIX@gc.@LIBEXT@ @LIBPREFIX@eclgc.@LIBEXT@; \
fi
@LIBPREFIX@eclatomic.@LIBEXT@:
if (echo $(SUBDIRS) | grep atomic); then \
cd atomic && $(MAKE) && $(MAKE) install && cd .. && rm -rf share && \
mv @LIBPREFIX@atomic_ops.@LIBEXT@ @LIBPREFIX@eclatomic.@LIBEXT@; \
fi
@LIBPREFIX@eclgmp.@LIBEXT@:
if (echo $(SUBDIRS) | grep gmp); then \
cd gmp && $(MAKE) install && \

20
src/aclocal.m4 vendored
View file

@ -873,3 +873,23 @@ if test $ECL_WORKING_ENVIRON = yes ; then
fi
])
dnl ----------------------------------------------------------------------
dnl Configure libatomic-ops
dnl
AC_DEFUN([ECL_LIBATOMIC_OPS],[
if test "x$ecl_threads" != "xno"; then
if mkdir atomic; then
(destdir=`${PWDCMD}`; cd atomic; CC="${CC} ${PICFLAG}" \
$srcdir/gc/libatomic*/configure --disable-shared --prefix=${destdir} \
--infodir=${destdir}/doc --includedir=${destdir}/ecl --with-pic \
--libdir=${destdir} --build=${build_alias} --host=${host_alias} \
CFLAGS="$CFLAGS" LDFLAGS="$LDFLAGS" CPPFLAGS="$CPPFLAGS" CC="${CC} \
${PICFLAG}")
SUBDIRS="${SUBDIRS} atomic"
CORE_LIBS="-leclatomic ${CORE_LIBS}"
if test "${enable_shared}" = "no"; then
LIBRARIES="${LIBRARIES} ${LIBPREFIX}eclatomic.${LIBEXT}"
fi
fi
fi
])

View file

@ -112,6 +112,9 @@
;; We need these two to force dllwrap to export the symbols
;; in these libraries. Otherwise it will not be possible to
;; call functions from GMP or GC in code that embeds ECL.
#+thread
(when (probe-file "@LIBPREFIX@atomic_ops.@LIBEXT@")
(push "@LIBPREFIX@atomic_ops.@LIBEXT@" extra-args))
(when (probe-file "@LIBPREFIX@eclgc.@LIBEXT@")
(push "@LIBPREFIX@eclgc.@LIBEXT@" extra-args))
(when (probe-file "@LIBPREFIX@eclgmp.@LIBEXT@")

18
src/configure vendored
View file

@ -15219,6 +15219,24 @@ $as_echo "$as_me: error: Not a valid argument for --enable-boehm $enable_boehm"
{ (exit 1); exit 1; }; };;
esac
if test "x$ecl_threads" != "xno"; then
if mkdir atomic; then
(destdir=`${PWDCMD}`; cd atomic; CC="${CC} ${PICFLAG}" \
$srcdir/gc/libatomic*/configure --disable-shared --prefix=${destdir} \
--infodir=${destdir}/doc --includedir=${destdir}/ecl --with-pic \
--libdir=${destdir} --build=${build_alias} --host=${host_alias} \
CFLAGS="$CFLAGS" LDFLAGS="$LDFLAGS" CPPFLAGS="$CPPFLAGS" CC="${CC} \
${PICFLAG}")
SUBDIRS="${SUBDIRS} atomic"
CORE_LIBS="-leclatomic ${CORE_LIBS}"
if test "${enable_shared}" = "no"; then
LIBRARIES="${LIBRARIES} ${LIBPREFIX}eclatomic.${LIBEXT}"
fi
fi
fi
ac_config_files="$ac_config_files bare.lsp lsp/load.lsp clos/load.lsp cmp/load.lsp new-cmp/load.lsp ../Makefile Makefile c/Makefile doc/Makefile doc/ecl.man doc/ecl-config.man ecl/configpre.h:h/config.h.in bin/ecl-config.pre:util/ecl-config lsp/config.pre:lsp/config.lsp.in compile.pre:compile.lsp.in cmp/cmpdefs.pre:cmp/cmpdefs.lsp"
ac_config_headers="$ac_config_headers ecl/config.h:ecl/configpre.h"

View file

@ -892,6 +892,8 @@ case "${enable_boehm}" in
AC_MSG_ERROR([Not a valid argument for --enable-boehm $enable_boehm]);;
esac
ECL_LIBATOMIC_OPS
AC_CONFIG_FILES([
bare.lsp lsp/load.lsp clos/load.lsp cmp/load.lsp new-cmp/load.lsp
../Makefile Makefile c/Makefile doc/Makefile doc/ecl.man doc/ecl-config.man