diff --git a/src/c/Makefile.in b/src/c/Makefile.in index 91a8da1a6..830c3ba9b 100644 --- a/src/c/Makefile.in +++ b/src/c/Makefile.in @@ -78,6 +78,10 @@ STREAM_OBJS = stream.o file.o streams/strm_os.o streams/strm_clos.o FFI_OBJS = ffi.o ffi/libraries.o ffi/backtrace.o ffi/mmap.o ffi/cdata.o +THREAD_OBJS = @THREAD_OBJS@ + +UNICODE_OBJS = @UNICODE_OBJS@ + OBJS = main.o symbol.o package.o cons.o list.o apply.o eval.o interpreter.o \ compiler.o disassembler.o reference.o character.o error.o \ string.o cfun.o typespec.o assignment.o memory.o predicate.o array.o \ @@ -85,7 +89,7 @@ OBJS = main.o symbol.o package.o cons.o list.o apply.o eval.o interpreter.o unixint.o mapfun.o multival.o hash.o format.o pathname.o structure.o \ load.o unixfsys.o unixsys.o serialize.o sse2.o atomic.o process.o \ $(BOOT_OBJS) $(NUM_OBJS) $(WRITER_OBJS) $(READER_OBJS) $(STREAM_OBJS) \ - $(CLOS_OBJS) $(FFI_OBJS) @EXTRA_OBJS@ + $(CLOS_OBJS) $(FFI_OBJS) $(THREAD_OBJS) $(UNICODE_OBJS) @EXTRA_OBJS@ .PHONY: all diff --git a/src/configure b/src/configure index e5f80e938..c46db5a58 100755 --- a/src/configure +++ b/src/configure @@ -737,6 +737,8 @@ LIBRARIES SUBDIRS TARGETS EXTRA_OBJS +THREAD_OBJS +UNICODE_OBJS PROGRAM_LDFLAGS BUNDLE_LDFLAGS SHARED_LDFLAGS @@ -7254,7 +7256,7 @@ fi boehm_configure_flags="${boehm_configure_flags} ${THREAD_GC_FLAGS}" - for k in $THREAD_OBJ; do EXTRA_OBJS="$EXTRA_OBJS ${k}.${OBJEXT}"; done + for k in $THREAD_OBJ; do THREAD_OBJS="$THREAD_OBJS ${k}.${OBJEXT}"; done { printf "%s\n" "$as_me:${as_lineno-$LINENO}: checking for thread object files" >&5 printf %s "checking for thread object files... " >&6; } { printf "%s\n" "$as_me:${as_lineno-$LINENO}: result: ${THREAD_OBJ}" >&5 @@ -11829,20 +11831,20 @@ printf "%s\n" "#define ECL_UNICODE 16" >>confdefs.h CHAR_CODE_LIMIT=65536 ECL_CHARACTER=$ECL_INT16_T - EXTRA_OBJS="$EXTRA_OBJS unicode/ucd16.o unicode/ucd16-0000.o unicode/ucd16-0016.o unicode/ucd16-0032.o unicode/ucd16-0048.o unicode/ucd16-0064.o" + UNICODE_OBJS="unicode/ucd16.o unicode/ucd16-0000.o unicode/ucd16-0016.o unicode/ucd16-0032.o unicode/ucd16-0048.o unicode/ucd16-0064.o" else printf "%s\n" "#define ECL_UNICODE 21" >>confdefs.h CHAR_CODE_LIMIT=1114112 ECL_CHARACTER=$ECL_INT32_T - EXTRA_OBJS="$EXTRA_OBJS unicode/ucd.o unicode/ucd-0000.o unicode/ucd-0016.o unicode/ucd-0032.o unicode/ucd-0048.o unicode/ucd-0064.o unicode/ucd-0080.o unicode/ucd-0096.o unicode/ucd-0112.o unicode/ucd-0128.o unicode/ucd-0144.o" + UNICODE_OBJS="unicode/ucd.o unicode/ucd-0000.o unicode/ucd-0016.o unicode/ucd-0032.o unicode/ucd-0048.o unicode/ucd-0064.o unicode/ucd-0080.o unicode/ucd-0096.o unicode/ucd-0112.o unicode/ucd-0128.o unicode/ucd-0144.o" fi printf "%s\n" "#define ECL_UNICODE_NAMES 1" >>confdefs.h - EXTRA_OBJS="$EXTRA_OBJS unicode/ucd_names_char.o unicode/ucd_names_codes.o unicode/ucd_names_pair.o unicode/ucd_names_str.o" - ac_fn_c_check_header_compile "$LINENO" "wchar.h" "ac_cv_header_wchar_h" "$ac_includes_default" + UNICODE_OBJS="$UNICODE_OBJS unicode/ucd_names_char.o unicode/ucd_names_codes.o unicode/ucd_names_pair.o unicode/ucd_names_str.o" + ac_fn_c_check_header_compile "$LINENO" "wchar.h" "ac_cv_header_wchar_h" "$ac_includes_default" if test "x$ac_cv_header_wchar_h" = xyes then : printf "%s\n" "#define HAVE_WCHAR_H 1" >>confdefs.h diff --git a/src/configure.ac b/src/configure.ac index 97e81b523..4475ad6c9 100644 --- a/src/configure.ac +++ b/src/configure.ac @@ -318,6 +318,8 @@ AC_SUBST(CORE_LIBS, []) dnl Locally compiled libs to link into AC_SUBST(SHARED_LDFLAGS) dnl Flags for shared libraries linker AC_SUBST(BUNDLE_LDFLAGS) dnl Flags for FASL files linker AC_SUBST(PROGRAM_LDFLAGS) dnl Flags for executable program linker +AC_SUBST(UNICODE_OBJS) dnl Unicode *.o files to be compiled into libecl.a +AC_SUBST(THREAD_OBJS) dnl Threads *.o files to be compiled into libecl.a AC_SUBST(EXTRA_OBJS) dnl Extra *.o files to be compiled into libecl.a AC_SUBST(TARGETS, ['bin/ecl$(EXE)'])dnl Versions of ECL to be built AC_SUBST(SUBDIRS, ['c doc']) dnl Subdirectories that make should process @@ -588,7 +590,7 @@ if test "${enable_threads}" = "yes" ; then CFLAGS="${CFLAGS} ${THREAD_CFLAGS}" ECL_PTHREAD_EXTENSIONS boehm_configure_flags="${boehm_configure_flags} ${THREAD_GC_FLAGS}" - for k in $THREAD_OBJ; do EXTRA_OBJS="$EXTRA_OBJS ${k}.${OBJEXT}"; done + for k in $THREAD_OBJ; do THREAD_OBJS="$THREAD_OBJS ${k}.${OBJEXT}"; done AC_MSG_CHECKING([for thread object files]) AC_MSG_RESULT([${THREAD_OBJ}]) AC_DEFINE( [ECL_THREADS], [1], [Userland threads?]) @@ -913,16 +915,16 @@ if test "x${enable_unicode}" != "xno"; then AC_DEFINE([ECL_UNICODE], [16], [Support for Unicode]) CHAR_CODE_LIMIT=65536 ECL_CHARACTER=$ECL_INT16_T - EXTRA_OBJS="$EXTRA_OBJS unicode/ucd16.o unicode/ucd16-0000.o unicode/ucd16-0016.o unicode/ucd16-0032.o unicode/ucd16-0048.o unicode/ucd16-0064.o" + UNICODE_OBJS="unicode/ucd16.o unicode/ucd16-0000.o unicode/ucd16-0016.o unicode/ucd16-0032.o unicode/ucd16-0048.o unicode/ucd16-0064.o" else AC_DEFINE([ECL_UNICODE], [21], [Support for Unicode]) CHAR_CODE_LIMIT=1114112 ECL_CHARACTER=$ECL_INT32_T - EXTRA_OBJS="$EXTRA_OBJS unicode/ucd.o unicode/ucd-0000.o unicode/ucd-0016.o unicode/ucd-0032.o unicode/ucd-0048.o unicode/ucd-0064.o unicode/ucd-0080.o unicode/ucd-0096.o unicode/ucd-0112.o unicode/ucd-0128.o unicode/ucd-0144.o" + UNICODE_OBJS="unicode/ucd.o unicode/ucd-0000.o unicode/ucd-0016.o unicode/ucd-0032.o unicode/ucd-0048.o unicode/ucd-0064.o unicode/ucd-0080.o unicode/ucd-0096.o unicode/ucd-0112.o unicode/ucd-0128.o unicode/ucd-0144.o" fi AC_DEFINE([ECL_UNICODE_NAMES], [1], [Link in the database of Unicode names]) - EXTRA_OBJS="$EXTRA_OBJS unicode/ucd_names_char.o unicode/ucd_names_codes.o unicode/ucd_names_pair.o unicode/ucd_names_str.o" - AC_CHECK_HEADERS([wchar.h]) + UNICODE_OBJS="$UNICODE_OBJS unicode/ucd_names_char.o unicode/ucd_names_codes.o unicode/ucd_names_pair.o unicode/ucd_names_str.o" + AC_CHECK_HEADERS([wchar.h]) ECL_ADD_FEATURE(unicode) else CHAR_CODE_LIMIT=256