@@ -4,6 +4,44 @@ AC_PREREQ(2.0)
44AC_INIT(Include/object.h)
55AC_CONFIG_HEADER(config.h)
66
7+ # NEXTSTEP stuff
8+ AC_MSG_CHECKING(for --with-next-archs)
9+ AC_ARG_WITH(next-archs,
10+ [--with-next-archs='arch1 arch2 ..' build MAB binary], [
11+ if test -n "$withval"; then
12+ ac_sys_cpu=_`/usr/lib/arch_tool -choose_obj_dir $withval`
13+ ac_arch_flags=`/usr/lib/arch_tool -archify_list $withval`
14+ else
15+ ac_sys_cpu=_`arch`
16+ fi
17+ ], [])
18+ AC_MSG_RESULT($with_next_archs)
19+
20+ # Set name for machine-dependent library files
21+ AC_SUBST(MACHDEP)
22+ AC_MSG_CHECKING(MACHDEP)
23+ if test -z "$MACHDEP"
24+ then
25+ if test -f /usr/lib/NextStep/software_version; then
26+ set X `hostinfo | grep 'NeXT Mach.*:' | \
27+ sed -e 's/://' -e 's/\./_/'` && \
28+ ac_sys_system=next && ac_sys_release=$4
29+ MACHDEP="$ac_sys_system$ac_sys_release$ac_sys_cpu"
30+ else
31+ ac_sys_system=`uname -s`
32+ ac_sys_release=`uname -r`
33+ ac_md_system=`echo $ac_sys_system |
34+ tr -d '[/ ]' | tr '[[A-Z]]' '[[a-z]]'`
35+ ac_md_release=`echo $ac_sys_release |
36+ tr -d '[/ ]' | sed 's/\..*//'`
37+ MACHDEP="$ac_md_system$ac_md_release"
38+ fi
39+ case MACHDEP in
40+ '') MACHDEP=unknown;;
41+ esac
42+ fi
43+ AC_MSG_RESULT($MACHDEP)
44+
745# checks for alternative programs
846AC_MSG_CHECKING(for --without-gcc)
947AC_ARG_WITH(gcc, [--without-gcc never use gcc], [
@@ -15,7 +53,7 @@ AC_ARG_WITH(gcc, [--without-gcc never use gcc], [
1553 *) CC=$withval
1654 without_gcc=$withval;;
1755 esac], [
18- case `uname -s` in
56+ case $ac_sys_system in
1957 OSF1) CC=cc
2058 without_gcc=;;
2159 *) without_gcc=no;;
4684 INSTALL_PROGRAM="$INSTALL"
4785 INSTALL_DATA="$INSTALL -m 644"
4886fi
49- AC_SUBST(OPT)
87+
5088# Optimizer/debugger flags passed between Makefiles
89+ AC_SUBST(OPT)
5190if test -z "$OPT"
52- then OPT=-O
91+ then
92+ case $ac_sys_system in
93+ NeXT|next) \
94+ if test -n "$ac_arch_flags"; then
95+ OPT="-g -Wall -O3 -fomit-frame-pointer $ac_arch_flags";
96+ else
97+ OPT="-g -Wall -O3 -fomit-frame-pointer";
98+ fi;;
99+ *) OPT="-O";;
100+ esac
53101fi
54102
55103# checks for UNIX variants that set C preprocessor variables
@@ -77,38 +125,20 @@ AC_TYPE_SIGNAL
77125AC_TYPE_SIZE_T
78126AC_TYPE_UID_T
79127
80- # Set name for machine-dependent library files
81- AC_SUBST(MACHDEP)
82- AC_MSG_CHECKING(MACHDEP)
83- if test -z "$MACHDEP"
84- then
85- ac_sys_system=`uname -s | tr -d '[/ ]' | tr '[[A-Z]]' '[[a-z]]'`
86- ac_sys_release=`uname -r | tr -d '[/ ]' | sed 's/\..*//'`
87- ac_sys_cpu=`(uname -p 2>/dev/null || uname -m) |
88- tr '[[A-Z]]' '[[a-z]]'`
89- ## MACHDEP="$ac_sys_system$ac_sys_release$ac_sys_cpu"
90- MACHDEP="$ac_sys_system$ac_sys_release"
91- case MACHDEP in
92- '') MACHDEP=unknown;;
93- esac
94- fi
95- AC_MSG_RESULT($MACHDEP)
96128
97129# Set info about shared libraries.
98- # XXX This should try things out instead of testing uname!
99130AC_SUBST(SO)
100131AC_SUBST(LDSHARED)
101132AC_SUBST(CCSHARED)
102133AC_SUBST(LINKFORSHARED)
103- ac_sys_system=`uname -s`
104- ac_sys_release=`uname -r`
105134# SO is the extension of shared libraries `(including the dot!)
106135# -- usually .so, .sl on HP-UX
107136AC_MSG_CHECKING(SO)
108137if test -z "$SO"
109138then
110139 case $ac_sys_system in
111140 hp*|HP*) SO=.sl;;
141+ NeXT|next) SO=.a;; # no shared libs on NeXT 3.3 and less
112142 *) SO=.so;;
113143 esac
114144fi
127157 DYNIX/ptx*) LDSHARED="ld -G";;
128158 Linux*) LDSHARED="gcc -shared";;
129159 FreeBSD*) LDSHARED="ld -Bshareable";;
160+ NeXT|next/3*) LDSHARED="ld -u libsys_s";;
130161 *) LDSHARED="ld";;
131162 esac
132163fi
@@ -206,6 +237,9 @@ AC_MSG_RESULT($withval)
206237if test -d "$withval"
207238then LIBS="$LIBS -L$withval"
208239fi
240+ AC_CHECK_HEADER(mach/cthreads.h, [AC_DEFINE(WITH_THREAD)
241+ AC_DEFINE(C_THREADS)
242+ LIBOBJS="$LIBOBJS thread.o"],[
209243AC_CHECK_LIB(pthreads, pthread_create, [AC_DEFINE(WITH_THREAD)
210244AC_DEFINE(_POSIX_THREADS)
211245LIBS="$LIBS -lpthreads"
@@ -214,7 +248,7 @@ AC_CHECK_LIB(pthread, pthread_create, [AC_DEFINE(WITH_THREAD)
214248AC_DEFINE(_POSIX_THREADS)
215249LIBS="$LIBS -lpthread"
216250LIBOBJS="$LIBOBJS thread.o"])
217- ])
251+ ])])
218252AC_CHECK_LIB(mpc, usconfig, [AC_DEFINE(WITH_THREAD)
219253LIBS="$LIBS -lmpc"
220254LIBOBJS="$LIBOBJS thread.o"])
@@ -258,7 +292,7 @@ AC_CHECK_FUNCS(chown clock dlopen flock ftime ftruncate \
258292 link lstat mkfifo nice plock putenv readlink \
259293 select setgid setuid setsid setpgid setpgrp setvbuf \
260294 sigaction siginterrupt sigrelse strftime symlink \
261- tcgetpgrp tcsetpgrp times truncate uname waitpid) \
295+ tcgetpgrp tcsetpgrp times truncate uname waitpid)
262296AC_REPLACE_FUNCS(dup2 getcwd strerror memmove)
263297AC_CHECK_FUNC(getpgrp, AC_TRY_COMPILE([#include <unistd.h>], [getpgrp(0);], AC_DEFINE(GETPGRP_HAVE_ARG)))
264298AC_CHECK_FUNC(setpgrp, AC_TRY_COMPILE([#include <unistd.h>], [setpgrp(0,0);], AC_DEFINE(SETPGRP_HAVE_ARG)))
@@ -402,4 +436,8 @@ test $ac_cv_func_getopt = no && LIBOBJS="$LIBOBJS getopt.o"
402436AC_SUBST(LIBOBJS)dnl
403437
404438# generate output files
405- AC_OUTPUT(Makefile Objects/Makefile Parser/Makefile Python/Makefile Modules/Makefile.pre)
439+ AC_OUTPUT(Makefile \
440+ Objects/Makefile \
441+ Parser/Makefile \
442+ Python/Makefile \
443+ Modules/Makefile.pre)
0 commit comments