mirror of
https://gcc.gnu.org/git/gcc.git
synced 2024-11-27 22:03:57 +08:00
Added libtool support for building libobjc.
From-SVN: r35329
This commit is contained in:
parent
6ed6b84a6f
commit
c161c99b43
@ -1,3 +1,11 @@
|
||||
Fri Jul 28 08:58:02 2000 Nicola Pero <nicola@brainstorm.co.uk>
|
||||
|
||||
* configure.in: Added libtool support; build shared libraries
|
||||
if --enable-shared was passed on command line.
|
||||
* Makefile.in: Modified most compilation commands to use libtool.
|
||||
* aclocal.m4: New symbolic link to the ../libtool.m4, from the
|
||||
libtool distribution.
|
||||
|
||||
Sat Jul 29 00:10:21 2000 Ovidiu Predescu <ovidiu@cup.hp.com>
|
||||
|
||||
* sarray.c, Object.m: Removed the explicit prototypes for strlen
|
||||
|
@ -64,6 +64,21 @@ GTHREAD_FLAGS=@GTHREAD_FLAGS@
|
||||
ALL_CFLAGS = -I. -I$(srcdir) $(CPPFLAGS) $(DEFS) $(CFLAGS) \
|
||||
$(GTHREAD_FLAGS) -DIN_GCC -DIN_TARGET_LIBS
|
||||
|
||||
# Libtool
|
||||
# The following strings describe the version of the obj-C library
|
||||
# begin compiled and compatibility issues.
|
||||
# Please refer to Libtool documentation about how to manage these
|
||||
# numbers.
|
||||
LIBOBJC_VERSION = 1:0:0
|
||||
LIBOBJC_GC_VERSION = 1:0:0
|
||||
# @LIBTOOL@ does not get it right, so we hack it in - FIXME
|
||||
LIBTOOL = ./libtool
|
||||
LIBTOOL_COMPILE = $(LIBTOOL) --mode=compile
|
||||
LIBTOOL_LINK = $(LIBTOOL) --mode=link
|
||||
LIBTOOL_INSTALL = $(LIBTOOL) --mode=install
|
||||
LIBTOOL_CLEAN = $(LIBTOOL) --mode=clean
|
||||
#LIBTOOL_UNINSTALL = $(LIBTOOL) --mode=uninstall
|
||||
|
||||
#
|
||||
# Define the cc1obj in terms of the CC that is passed on from higher
|
||||
# level make. This is needed to make sure we can create runtime-info.h
|
||||
@ -78,15 +93,16 @@ INCLUDES = -I$(srcdir)/objc -I$(srcdir)/$(MULTISRCTOP)../gcc \
|
||||
|
||||
OBJC_GCFLAGS=-DOBJC_WITH_GC=1
|
||||
OBJC_THREAD_FILE=thr-objc
|
||||
OBJC_BOEHM_GC=@OBJC_BOEHM_GC@
|
||||
|
||||
.SUFFIXES:
|
||||
.SUFFIXES: .c .m .o
|
||||
.SUFFIXES: .c .m .lo
|
||||
|
||||
.c.o:
|
||||
$(CC) -c $(ALL_CFLAGS) $(INCLUDES) $<
|
||||
.c.lo:
|
||||
$(LIBTOOL_COMPILE) $(CC) -c $(ALL_CFLAGS) $(INCLUDES) $<
|
||||
|
||||
.m.o:
|
||||
$(CC) -c $(ALL_CFLAGS) $(INCLUDES) $<
|
||||
.m.lo:
|
||||
$(LIBTOOL_COMPILE) $(CC) -c $(ALL_CFLAGS) $(INCLUDES) $<
|
||||
|
||||
# Flags to pass to a recursive make.
|
||||
FLAGS_TO_PASS = \
|
||||
@ -101,6 +117,7 @@ FLAGS_TO_PASS = \
|
||||
"INSTALL_DATA=$(INSTALL_DATA)" \
|
||||
"INSTALL_PROGRAM=$(INSTALL_PROGRAM)" \
|
||||
"LDFLAGS=$(LDFLAGS)" \
|
||||
"LIBTOOL=$(LIBTOOL)" \
|
||||
"LOADLIBES=$(LOADLIBES)" \
|
||||
"PICFLAG=$(PICFLAG)" \
|
||||
"RANLIB=$(RANLIB)" \
|
||||
@ -111,7 +128,7 @@ FLAGS_TO_PASS = \
|
||||
"libsubdir=$(libsubdir)" \
|
||||
"tooldir=$(tooldir)"
|
||||
|
||||
all: libobjc.a @OBJC_BOEHM_GC@
|
||||
all: libobjc.la $(OBJC_BOEHM_GC)
|
||||
$(MULTIDO) $(FLAGS_TO_PASS) multi-do DO=all
|
||||
|
||||
# User-visible header files.
|
||||
@ -122,111 +139,134 @@ OBJC_H = hash.h objc-list.h sarray.h objc.h objc-api.h \
|
||||
|
||||
# Modules that comprise the runtime library.
|
||||
|
||||
OBJS = archive.o class.o encoding.o gc.o hash.o init.o linking.o \
|
||||
misc.o nil_method.o NXConstStr.o Object.o objects.o \
|
||||
Protocol.o sarray.o selector.o sendmsg.o thr.o \
|
||||
$(OBJC_THREAD_FILE).o
|
||||
OBJS = archive.lo class.lo encoding.lo gc.lo hash.lo init.lo linking.lo \
|
||||
misc.lo nil_method.lo NXConstStr.lo Object.lo objects.lo \
|
||||
Protocol.lo sarray.lo selector.lo sendmsg.lo thr.lo \
|
||||
$(OBJC_THREAD_FILE).lo
|
||||
|
||||
OBJS_GC = archive_gc.o class_gc.o encoding_gc.o gc_gc.o hash_gc.o \
|
||||
init_gc.o linking_gc.o misc_gc.o nil_method_gc.o \
|
||||
NXConstStr_gc.o Object_gc.o objects_gc.o Protocol_gc.o \
|
||||
sarray_gc.o selector_gc.o sendmsg_gc.o thr_gc.o \
|
||||
$(OBJC_THREAD_FILE)_gc.o
|
||||
OBJS_GC = archive_gc.lo class_gc.lo encoding_gc.lo gc_gc.lo hash_gc.lo \
|
||||
init_gc.lo linking_gc.lo misc_gc.lo nil_method_gc.lo \
|
||||
NXConstStr_gc.lo Object_gc.lo objects_gc.lo Protocol_gc.lo \
|
||||
sarray_gc.lo selector_gc.lo sendmsg_gc.lo thr_gc.lo \
|
||||
$(OBJC_THREAD_FILE)_gc.lo
|
||||
|
||||
runtime-info.h:
|
||||
echo "" > tmp-runtime
|
||||
echo "/* This file is automatically generated */" > $@
|
||||
$(CC1OBJ) -print-objc-runtime-info tmp-runtime >> $@
|
||||
rm -f tmp-runtime
|
||||
echo "" > tmp-runtime
|
||||
echo "/* This file is automatically generated */" > $@
|
||||
$(CC1OBJ) -print-objc-runtime-info tmp-runtime >> $@
|
||||
rm -f tmp-runtime
|
||||
|
||||
archive_gc.o: archive.c
|
||||
$(CC) -c -o $@ $(ALL_CFLAGS) $(OBJC_GCFLAGS) $(INCLUDES) $<
|
||||
archive_gc.lo: archive.c
|
||||
$(LIBTOOL_COMPILE) $(CC) -c -o $@ $(ALL_CFLAGS) $(OBJC_GCFLAGS) \
|
||||
$(INCLUDES) $<
|
||||
|
||||
class_gc.o: class.c
|
||||
$(CC) -c -o $@ $(ALL_CFLAGS) $(OBJC_GCFLAGS) $(INCLUDES) $<
|
||||
class_gc.lo: class.c
|
||||
$(LIBTOOL_COMPILE) $(CC) -c -o $@ $(ALL_CFLAGS) $(OBJC_GCFLAGS) \
|
||||
$(INCLUDES) $<
|
||||
|
||||
encoding_gc.o: encoding.c
|
||||
$(CC) -c -o $@ $(ALL_CFLAGS) $(OBJC_GCFLAGS) $(INCLUDES) $<
|
||||
encoding_gc.lo: encoding.c
|
||||
$(LIBTOOL_COMPILE) $(CC) -c -o $@ $(ALL_CFLAGS) $(OBJC_GCFLAGS) \
|
||||
$(INCLUDES) $<
|
||||
|
||||
gc.o: gc.c
|
||||
$(CC) -c -o $@ $(ALL_CFLAGS) $(INCLUDES) $<
|
||||
gc.lo: gc.c
|
||||
$(LIBTOOL_COMPILE) $(CC) -c -o $@ $(ALL_CFLAGS) $(INCLUDES) $<
|
||||
|
||||
gc_gc.o: gc.c
|
||||
$(CC) -c -o $@ $(ALL_CFLAGS) $(OBJC_GCFLAGS) \
|
||||
$(INCLUDES) $<
|
||||
gc_gc.lo: gc.c
|
||||
$(LIBTOOL_COMPILE) $(CC) -c -o $@ $(ALL_CFLAGS) $(OBJC_GCFLAGS) \
|
||||
$(INCLUDES) $<
|
||||
|
||||
hash_gc.o: hash.c
|
||||
$(CC) -c -o $@ $(ALL_CFLAGS) $(OBJC_GCFLAGS) $(INCLUDES) $<
|
||||
hash_gc.lo: hash.c
|
||||
$(LIBTOOL_COMPILE) $(CC) -c -o $@ $(ALL_CFLAGS) $(OBJC_GCFLAGS) \
|
||||
$(INCLUDES) $<
|
||||
|
||||
init_gc.o: init.c
|
||||
$(CC) -c -o $@ $(ALL_CFLAGS) $(OBJC_GCFLAGS) $(INCLUDES) $<
|
||||
init_gc.lo: init.c
|
||||
$(LIBTOOL_COMPILE) $(CC) -c -o $@ $(ALL_CFLAGS) $(OBJC_GCFLAGS) \
|
||||
$(INCLUDES) $<
|
||||
|
||||
linking.o: linking.m
|
||||
$(CC) -fgnu-runtime -c -o $@ $(ALL_CFLAGS) $(INCLUDES) $<
|
||||
linking.lo: linking.m
|
||||
$(LIBTOOL_COMPILE) $(CC) -fgnu-runtime -c -o $@ $(ALL_CFLAGS) \
|
||||
$(INCLUDES) $<
|
||||
|
||||
linking_gc.o: linking.m
|
||||
$(CC) -fgnu-runtime -c -o $@ $(ALL_CFLAGS) $(OBJC_GCFLAGS) \
|
||||
$(INCLUDES) $<
|
||||
linking_gc.lo: linking.m
|
||||
$(LIBTOOL_COMPILE) $(CC) -fgnu-runtime -c -o $@ $(ALL_CFLAGS) \
|
||||
$(OBJC_GCFLAGS) $(INCLUDES) $<
|
||||
|
||||
misc_gc.o: misc.c
|
||||
$(CC) -c -o $@ $(ALL_CFLAGS) $(OBJC_GCFLAGS) $(INCLUDES) $<
|
||||
misc_gc.lo: misc.c
|
||||
$(LIBTOOL_COMPILE) $(CC) -c $(ALL_CFLAGS) -o $@ $(OBJC_GCFLAGS) \
|
||||
$(INCLUDES) $<
|
||||
|
||||
nil_method_gc.o: nil_method.c
|
||||
$(CC) -c -o $@ $(ALL_CFLAGS) $(OBJC_GCFLAGS) $(INCLUDES) $<
|
||||
nil_method_gc.lo: nil_method.c
|
||||
$(LIBTOOL_COMPILE) $(CC) -c $(ALL_CFLAGS) -o $@ $(OBJC_GCFLAGS) \
|
||||
$(INCLUDES) $<
|
||||
|
||||
NXConstStr.o: NXConstStr.m
|
||||
$(CC) -fgnu-runtime -c -o $@ $(ALL_CFLAGS) $(INCLUDES) $<
|
||||
NXConstStr.lo: NXConstStr.m
|
||||
$(LIBTOOL_COMPILE) $(CC) -fgnu-runtime -c -o $@ $(ALL_CFLAGS) \
|
||||
$(INCLUDES) $<
|
||||
|
||||
NXConstStr_gc.o: NXConstStr.m
|
||||
$(CC) -fgnu-runtime -c -o $@ $(ALL_CFLAGS) $(OBJC_GCFLAGS) \
|
||||
$(INCLUDES) $<
|
||||
NXConstStr_gc.lo: NXConstStr.m
|
||||
$(LIBTOOL_COMPILE) $(CC) -fgnu-runtime -c -o $@ $(ALL_CFLAGS) \
|
||||
$(OBJC_GCFLAGS) $(INCLUDES) $<
|
||||
|
||||
Object.o: Object.m
|
||||
$(CC) -fgnu-runtime -c -o $@ $(ALL_CFLAGS) $(INCLUDES) $<
|
||||
Object.lo: Object.m
|
||||
$(LIBTOOL_COMPILE) $(CC) -fgnu-runtime -c -o $@ $(ALL_CFLAGS) \
|
||||
$(INCLUDES) $<
|
||||
|
||||
Object_gc.o: Object.m
|
||||
$(CC) -fgnu-runtime -c -o $@ $(ALL_CFLAGS) $(OBJC_GCFLAGS) \
|
||||
$(INCLUDES) $<
|
||||
Object_gc.lo: Object.m
|
||||
$(LIBTOOL_COMPILE) $(CC) -fgnu-runtime -c -o $@ $(ALL_CFLAGS) \
|
||||
$(OBJC_GCFLAGS) $(INCLUDES) $<
|
||||
|
||||
objects_gc.o: objects.c
|
||||
$(CC) -c -o $@ $(ALL_CFLAGS) $(OBJC_GCFLAGS) $(INCLUDES) $<
|
||||
objects_gc.lo: objects.c
|
||||
$(LIBTOOL_COMPILE) $(CC) -c $(ALL_CFLAGS) -o $@ $(OBJC_GCFLAGS) \
|
||||
$(INCLUDES) $<
|
||||
|
||||
Protocol.o: Protocol.m
|
||||
$(CC) -fgnu-runtime -c -o $@ $(ALL_CFLAGS) $(INCLUDES) $<
|
||||
Protocol.lo: Protocol.m
|
||||
$(LIBTOOL_COMPILE) $(CC) -fgnu-runtime -c -o $@ $(ALL_CFLAGS) \
|
||||
$(INCLUDES) $<
|
||||
|
||||
Protocol_gc.o: Protocol.m
|
||||
$(CC) -fgnu-runtime -c -o $@ $(ALL_CFLAGS) $(OBJC_GCFLAGS) \
|
||||
$(INCLUDES) $<
|
||||
Protocol_gc.lo: Protocol.m
|
||||
$(LIBTOOL_COMPILE) $(CC) -fgnu-runtime -c -o $@ $(ALL_CFLAGS) \
|
||||
$(OBJC_GCFLAGS) $(INCLUDES) $<
|
||||
|
||||
sarray_gc.o: sarray.c
|
||||
$(CC) -c -o $@ $(ALL_CFLAGS) $(OBJC_GCFLAGS) $(INCLUDES) $<
|
||||
sarray_gc.lo: sarray.c
|
||||
$(LIBTOOL_COMPILE) $(CC) -c -o $@ $(ALL_CFLAGS) $(OBJC_GCFLAGS) \
|
||||
$(INCLUDES) $<
|
||||
|
||||
selector_gc.o: selector.c
|
||||
$(CC) -c -o $@ $(ALL_CFLAGS) $(OBJC_GCFLAGS) $(INCLUDES) $<
|
||||
selector_gc.lo: selector.c
|
||||
$(LIBTOOL_COMPILE) $(CC) -c -o $@ $(ALL_CFLAGS) $(OBJC_GCFLAGS) \
|
||||
$(INCLUDES) $<
|
||||
|
||||
sendmsg.o: sendmsg.c runtime-info.h
|
||||
$(CC) -c -o $@ $(ALL_CFLAGS) $(INCLUDES) $<
|
||||
sendmsg.lo: sendmsg.c runtime-info.h
|
||||
$(LIBTOOL_COMPILE) $(CC) -c -o $@ $(ALL_CFLAGS) $(INCLUDES) $<
|
||||
|
||||
sendmsg_gc.o: sendmsg.c runtime-info.h
|
||||
$(CC) -c -o $@ $(ALL_CFLAGS) $(OBJC_GCFLAGS) $(INCLUDES) $<
|
||||
sendmsg_gc.lo: sendmsg.c runtime-info.h
|
||||
$(LIBTOOL_COMPILE) $(CC) -c -o $@ $(ALL_CFLAGS) $(OBJC_GCFLAGS) \
|
||||
$(INCLUDES) $<
|
||||
|
||||
thr_gc.o: thr.c
|
||||
$(CC) -c -o $@ $(ALL_CFLAGS) $(OBJC_GCFLAGS) $(INCLUDES) $<
|
||||
thr_gc.lo: thr.c
|
||||
$(LIBTOOL_COMPILE) $(CC) -c -o $@ $(ALL_CFLAGS) $(OBJC_GCFLAGS) \
|
||||
$(INCLUDES) $<
|
||||
|
||||
$(OBJC_THREAD_FILE)_gc.o: $(OBJC_THREAD_FILE).c
|
||||
$(CC) -c -o $@ $(ALL_CFLAGS) $(OBJC_GCFLAGS) $(INCLUDES) $<
|
||||
$(OBJC_THREAD_FILE)_gc.lo: $(OBJC_THREAD_FILE).c
|
||||
$(LIBTOOL_COMPILE) $(CC) -c -o $@ $(ALL_CFLAGS) $(OBJC_GCFLAGS) \
|
||||
$(INCLUDES) $<
|
||||
|
||||
doc: info dvi html
|
||||
|
||||
libobjc.a: $(OBJS)
|
||||
$(AR) $(AR_FLAGS) $@ $(OBJS)
|
||||
$(RANLIB) $@
|
||||
libobjc.la: $(OBJS)
|
||||
$(LIBTOOL_LINK) $(CC) -o $@ $(OBJS) -rpath $(libsubdir) \
|
||||
-version-info $(LIBOBJC_VERSION)
|
||||
|
||||
libobjc_gc.a: $(OBJS_GC)
|
||||
$(AR) $(AR_FLAGS) $@ $(OBJS_GC)
|
||||
$(RANLIB) $@
|
||||
libobjc_gc.la: $(OBJS_GC)
|
||||
$(LIBTOOL_LINK) $(CC) -o $@ $(OBJS_GC) -rpath $(libsubdir) \
|
||||
-version-info $(LIBOBJC_GC_VERSION)
|
||||
|
||||
libobjc_s.a: libobjc.a
|
||||
#
|
||||
# FIXME -- The following part does not fit in the libtool context.
|
||||
# Libtool is supposed to [going to] be able to create a win 32 DLL
|
||||
# without extra code but since I don't have a win machine to test
|
||||
# if it already works, I leave the old code here.
|
||||
#
|
||||
libobjc_s.a: libobjc.la
|
||||
mv libobjc.a libobjc_s.a
|
||||
|
||||
# Create a relocatable DLL
|
||||
@ -243,6 +283,11 @@ libobjc.dll: libobjc_s.a libobjc_entry.o
|
||||
-o libobjc.dll libobjc_s.a libobjc_entry.o -lkernel32
|
||||
$(DLLTOOL) --dllname libobjc.dll --def $(srcdir)/libobjc.def \
|
||||
--output-lib libobjc.a
|
||||
#
|
||||
#
|
||||
#
|
||||
#
|
||||
#
|
||||
|
||||
info: objc-features.info
|
||||
dvi: objc-features.dvi
|
||||
@ -272,25 +317,11 @@ ${srcdir}/configure: configure.in
|
||||
install: install-libs copy-headers
|
||||
|
||||
install-libs: installdirs
|
||||
-if test -f libobjc.a ; then \
|
||||
rm -f $(libsubdir)/libobjc.a; \
|
||||
$(INSTALL_DATA) libobjc.a $(libsubdir)/libobjc.a; \
|
||||
chmod a-x $(libsubdir)/libobjc.a; \
|
||||
else true; fi
|
||||
-if test -f libobjc_gc.a ; then \
|
||||
rm -f $(libsubdir)/libobjc_gc.a; \
|
||||
$(INSTALL_DATA) libobjc_gc.a $(libsubdir)/libobjc_gc.a; \
|
||||
chmod a-x $(libsubdir)/libobjc_gc.a; \
|
||||
else true; fi
|
||||
-if test -f libobjc_s.a ; then \
|
||||
rm -f $(libsubdir)/libobjc_s.a; \
|
||||
$(INSTALL_DATA) libobjc_s.a $(libsubdir)/libobjc_s.a; \
|
||||
chmod a-x $(libsubdir)/libobjc_s.a; \
|
||||
else true; fi
|
||||
-if test -f libobjc.dll ; then \
|
||||
rm -f $(bindir)/libobjc.dll; \
|
||||
$(INSTALL_DATA) libobjc.dll $(bindir)/libobjc.dll; \
|
||||
else true; fi
|
||||
$(LIBTOOL_INSTALL) $(INSTALL_DATA) libobjc.la $(libsubdir)/libobjc.la;
|
||||
if [ "$(OBJC_BOEHM_GC)" ]; then \
|
||||
$(LIBTOOL_INSTALL) $(INSTALL_DATA) libobjc_gc.la \
|
||||
$(libsubdir)/libobjc_gc.la;\
|
||||
fi
|
||||
|
||||
# Copy Objective C headers to installation include directory.
|
||||
copy-headers:
|
||||
@ -306,7 +337,8 @@ copy-headers:
|
||||
check uninstall install-strip dist installcheck installdirs:
|
||||
|
||||
mostlyclean:
|
||||
-rm -f runtime-info.h tmp-runtime.s *.o libobjc* xforward \
|
||||
-$(LIBTOOL_CLEAN) rm -f libobjc.la libobjc_gc.la *.lo
|
||||
-rm -f runtime-info.h tmp-runtime.s *.o *.lo libobjc* xforward \
|
||||
fflags *.aux *.cp *.dvi *.fn *.info *.ky *.log *.pg \
|
||||
*.toc *.tp *.vr *.html libobj.exp
|
||||
@$(MULTICLEAN) multi-clean DO=mostlyclean
|
||||
|
824
libobjc/aclocal.m4
vendored
Normal file
824
libobjc/aclocal.m4
vendored
Normal file
@ -0,0 +1,824 @@
|
||||
## libtool.m4 - Configure libtool for the host system. -*-Shell-script-*-
|
||||
## Copyright (C) 1996-1999,2000 Free Software Foundation, Inc.
|
||||
## Originally by Gordon Matzigkeit <gord@gnu.ai.mit.edu>, 1996
|
||||
##
|
||||
## This program is free software; you can redistribute it and/or modify
|
||||
## it under the terms of the GNU General Public License as published by
|
||||
## the Free Software Foundation; either version 2 of the License, or
|
||||
## (at your option) any later version.
|
||||
##
|
||||
## This program is distributed in the hope that it will be useful, but
|
||||
## WITHOUT ANY WARRANTY; without even the implied warranty of
|
||||
## MERCHANTABILITY or FITNESS FOR A PARTICULAR PURPOSE. See the GNU
|
||||
## General Public License for more details.
|
||||
##
|
||||
## You should have received a copy of the GNU General Public License
|
||||
## along with this program; if not, write to the Free Software
|
||||
## Foundation, Inc., 59 Temple Place - Suite 330, Boston, MA 02111-1307, USA.
|
||||
##
|
||||
## As a special exception to the GNU General Public License, if you
|
||||
## distribute this file as part of a program that contains a
|
||||
## configuration script generated by Autoconf, you may include it under
|
||||
## the same distribution terms that you use for the rest of that program.
|
||||
|
||||
# serial 45 AC_PROG_LIBTOOL
|
||||
AC_DEFUN(AC_PROG_LIBTOOL,[AC_REQUIRE([_AC_PROG_LIBTOOL])
|
||||
dnl If AC_PROG_CXX has already been expanded, run AC_LIBTOOL_CXX
|
||||
dnl immediately, otherwise, hook it in at the end of AC_PROG_CXX.
|
||||
AC_PROVIDE_IFELSE([AC_PROG_CXX],
|
||||
[AC_LIBTOOL_CXX],
|
||||
[define([AC_PROG_CXX], defn([AC_PROG_CXX])[AC_LIBTOOL_CXX
|
||||
])])
|
||||
|
||||
dnl Quote A][M_PROG_GCJ so that aclocal doesn't bring it in needlessly.
|
||||
dnl If either AC_PROG_GCJ or A][M_PROG_GCJ have already been expanded, run
|
||||
dnl AC_LIBTOOL_GCJ immediately, otherwise, hook it in at the end of both.
|
||||
AC_PROVIDE_IFELSE([AC_PROG_GCJ],
|
||||
[AC_LIBTOOL_GCJ],
|
||||
[AC_PROVIDE_IFELSE([A][M_PROG_GCJ],
|
||||
[AC_LIBTOOL_GCJ],
|
||||
[ifdef([AC_PROG_GCJ],
|
||||
[define([AC_PROG_GCJ], defn([AC_PROG_GCJ])[AC_LIBTOOL_GCJ
|
||||
])])
|
||||
ifdef([A][M_PROG_GCJ],
|
||||
[define([A][M_PROG_GCJ], defn([A][M_PROG_GCJ])[AC_LIBTOOL_GCJ
|
||||
])])])])])
|
||||
|
||||
AC_DEFUN(_AC_PROG_LIBTOOL,
|
||||
[AC_REQUIRE([AC_LIBTOOL_SETUP])dnl
|
||||
AC_BEFORE([$0],[AC_LIBTOOL_CXX])dnl
|
||||
AC_BEFORE([$0],[AC_LIBTOOL_GCJ])dnl
|
||||
|
||||
# Save cache, so that ltconfig can load it
|
||||
AC_CACHE_SAVE
|
||||
|
||||
# Actually configure libtool. ac_aux_dir is where install-sh is found.
|
||||
AR="$AR" LTCC="$CC" CC="$CC" CFLAGS="$CFLAGS" CPPFLAGS="$CPPFLAGS" \
|
||||
MAGIC="$MAGIC" LD="$LD" LDFLAGS="$LDFLAGS" LIBS="$LIBS" \
|
||||
LN_S="$LN_S" NM="$NM" RANLIB="$RANLIB" STRIP="$STRIP" \
|
||||
AS="$AS" DLLTOOL="$DLLTOOL" OBJDUMP="$OBJDUMP" \
|
||||
objext="$OBJEXT" exeext="$EXEEXT" reload_flag="$reload_flag" \
|
||||
deplibs_check_method="$deplibs_check_method" file_magic_cmd="$file_magic_cmd" \
|
||||
${CONFIG_SHELL-/bin/sh} $ac_aux_dir/ltconfig --no-reexec \
|
||||
$libtool_flags --no-verify --build="$build" $ac_aux_dir/ltmain.sh $host \
|
||||
|| AC_MSG_ERROR([libtool configure failed])
|
||||
|
||||
# Reload cache, that may have been modified by ltconfig
|
||||
AC_CACHE_LOAD
|
||||
|
||||
# This can be used to rebuild libtool when needed
|
||||
LIBTOOL_DEPS="$ac_aux_dir/ltconfig $ac_aux_dir/ltmain.sh $ac_aux_dir/ltcf-c.sh"
|
||||
|
||||
# Always use our own libtool.
|
||||
LIBTOOL='$(SHELL) $(top_builddir)/libtool'
|
||||
AC_SUBST(LIBTOOL)dnl
|
||||
|
||||
# Redirect the config.log output again, so that the ltconfig log is not
|
||||
# clobbered by the next message.
|
||||
exec 5>>./config.log
|
||||
])
|
||||
|
||||
AC_DEFUN(AC_LIBTOOL_SETUP,
|
||||
[AC_PREREQ(2.13)dnl
|
||||
AC_REQUIRE([AC_ENABLE_SHARED])dnl
|
||||
AC_REQUIRE([AC_ENABLE_STATIC])dnl
|
||||
AC_REQUIRE([AC_ENABLE_FAST_INSTALL])dnl
|
||||
AC_REQUIRE([AC_CANONICAL_HOST])dnl
|
||||
AC_REQUIRE([AC_CANONICAL_BUILD])dnl
|
||||
AC_REQUIRE([AC_PROG_CC])dnl
|
||||
AC_REQUIRE([AC_PROG_LD])dnl
|
||||
AC_REQUIRE([AC_PROG_LD_RELOAD_FLAG])dnl
|
||||
AC_REQUIRE([AC_PROG_NM])dnl
|
||||
AC_REQUIRE([AC_PROG_LN_S])dnl
|
||||
AC_REQUIRE([AC_DEPLIBS_CHECK_METHOD])dnl
|
||||
# Autoconf 2.13's AC_OBJEXT and AC_EXEEXT macros only works for C compilers!
|
||||
AC_REQUIRE([AC_OBJEXT])dnl
|
||||
AC_REQUIRE([AC_EXEEXT])dnl
|
||||
dnl
|
||||
|
||||
# Only perform the check for file, if the check method requires it
|
||||
case "$deplibs_check_method" in
|
||||
file_magic*)
|
||||
if test "$file_magic_cmd" = '${MAGIC}'; then
|
||||
AC_PATH_MAGIC
|
||||
fi
|
||||
;;
|
||||
esac
|
||||
|
||||
AC_CHECK_TOOL(RANLIB, ranlib, :)
|
||||
AC_CHECK_TOOL(STRIP, strip, :)
|
||||
|
||||
# Check for any special flags to pass to ltconfig.
|
||||
libtool_flags="--cache-file=$cache_file"
|
||||
test "$enable_shared" = no && libtool_flags="$libtool_flags --disable-shared"
|
||||
test "$enable_static" = no && libtool_flags="$libtool_flags --disable-static"
|
||||
test "$enable_fast_install" = no && libtool_flags="$libtool_flags --disable-fast-install"
|
||||
test "$ac_cv_prog_gcc" = yes && libtool_flags="$libtool_flags --with-gcc"
|
||||
test "$ac_cv_prog_gnu_ld" = yes && libtool_flags="$libtool_flags --with-gnu-ld"
|
||||
ifdef([AC_PROVIDE_AC_LIBTOOL_DLOPEN],
|
||||
[libtool_flags="$libtool_flags --enable-dlopen"])
|
||||
ifdef([AC_PROVIDE_AC_LIBTOOL_WIN32_DLL],
|
||||
[libtool_flags="$libtool_flags --enable-win32-dll"])
|
||||
AC_ARG_ENABLE(libtool-lock,
|
||||
[ --disable-libtool-lock avoid locking (might break parallel builds)])
|
||||
test "x$enable_libtool_lock" = xno && libtool_flags="$libtool_flags --disable-lock"
|
||||
test x"$silent" = xyes && libtool_flags="$libtool_flags --silent"
|
||||
|
||||
AC_ARG_WITH(pic,
|
||||
[ --with-pic try to use only PIC/non-PIC objects [default=use both]],
|
||||
pic_mode="$withval", pic_mode=default)
|
||||
test x"$pic_mode" = xyes && libtool_flags="$libtool_flags --prefer-pic"
|
||||
test x"$pic_mode" = xno && libtool_flags="$libtool_flags --prefer-non-pic"
|
||||
|
||||
# Some flags need to be propagated to the compiler or linker for good
|
||||
# libtool support.
|
||||
case "$host" in
|
||||
*-*-irix6*)
|
||||
# Find out which ABI we are using.
|
||||
echo '[#]line __oline__ "configure"' > conftest.$ac_ext
|
||||
if AC_TRY_EVAL(ac_compile); then
|
||||
case "`/usr/bin/file conftest.o`" in
|
||||
*32-bit*)
|
||||
LD="${LD-ld} -32"
|
||||
;;
|
||||
*N32*)
|
||||
LD="${LD-ld} -n32"
|
||||
;;
|
||||
*64-bit*)
|
||||
LD="${LD-ld} -64"
|
||||
;;
|
||||
esac
|
||||
fi
|
||||
rm -rf conftest*
|
||||
;;
|
||||
|
||||
*-*-sco3.2v5*)
|
||||
# On SCO OpenServer 5, we need -belf to get full-featured binaries.
|
||||
SAVE_CFLAGS="$CFLAGS"
|
||||
CFLAGS="$CFLAGS -belf"
|
||||
AC_CACHE_CHECK([whether the C compiler needs -belf], lt_cv_cc_needs_belf,
|
||||
[AC_LANG_SAVE
|
||||
AC_LANG_C
|
||||
AC_TRY_LINK([],[],[lt_cv_cc_needs_belf=yes],[lt_cv_cc_needs_belf=no])
|
||||
AC_LANG_RESTORE])
|
||||
if test x"$lt_cv_cc_needs_belf" != x"yes"; then
|
||||
# this is probably gcc 2.8.0, egcs 1.0 or newer; no need for -belf
|
||||
CFLAGS="$SAVE_CFLAGS"
|
||||
fi
|
||||
;;
|
||||
|
||||
ifdef([AC_PROVIDE_AC_LIBTOOL_WIN32_DLL],
|
||||
[*-*-cygwin* | *-*-mingw*)
|
||||
AC_CHECK_TOOL(DLLTOOL, dlltool, false)
|
||||
AC_CHECK_TOOL(AS, as, false)
|
||||
AC_CHECK_TOOL(OBJDUMP, objdump, false)
|
||||
|
||||
# recent cygwin and mingw systems supply a stub DllMain which the user
|
||||
# can override, but on older systems we have to supply one
|
||||
AC_CACHE_CHECK([if libtool should supply DllMain function], lt_cv_need_dllmain,
|
||||
[AC_TRY_LINK([],
|
||||
[extern int __attribute__((__stdcall__)) DllMain(void*, int, void*);
|
||||
DllMain (0, 0, 0);],
|
||||
[lt_cv_need_dllmain=no],[lt_cv_need_dllmain=yes])])
|
||||
|
||||
case "$host/$CC" in
|
||||
*-*-cygwin*/gcc*-mno-cygwin*|*-*-mingw*)
|
||||
# old mingw systems require "-dll" to link a DLL, while more recent ones
|
||||
# require "-mdll"
|
||||
SAVE_CFLAGS="$CFLAGS"
|
||||
CFLAGS="$CFLAGS -mdll"
|
||||
AC_CACHE_CHECK([how to link DLLs], lt_cv_cc_dll_switch,
|
||||
[AC_TRY_LINK([], [], [lt_cv_cc_dll_switch=-mdll],[lt_cv_cc_dll_switch=-dll])])
|
||||
CFLAGS="$SAVE_CFLAGS" ;;
|
||||
*-*-cygwin*)
|
||||
# cygwin systems need to pass --dll to the linker, and not link
|
||||
# crt.o which will require a WinMain@16 definition.
|
||||
lt_cv_cc_dll_switch="-Wl,--dll -nostartfiles" ;;
|
||||
esac
|
||||
;;
|
||||
])
|
||||
esac
|
||||
])
|
||||
|
||||
# AC_LIBTOOL_DLOPEN - enable checks for dlopen support
|
||||
AC_DEFUN(AC_LIBTOOL_DLOPEN, [AC_BEFORE([$0],[AC_LIBTOOL_SETUP])])
|
||||
|
||||
# AC_LIBTOOL_WIN32_DLL - declare package support for building win32 dll's
|
||||
AC_DEFUN(AC_LIBTOOL_WIN32_DLL, [AC_BEFORE([$0], [AC_LIBTOOL_SETUP])])
|
||||
|
||||
# AC_ENABLE_SHARED - implement the --enable-shared flag
|
||||
# Usage: AC_ENABLE_SHARED[(DEFAULT)]
|
||||
# Where DEFAULT is either `yes' or `no'. If omitted, it defaults to
|
||||
# `yes'.
|
||||
AC_DEFUN(AC_ENABLE_SHARED, [dnl
|
||||
define([AC_ENABLE_SHARED_DEFAULT], ifelse($1, no, no, yes))dnl
|
||||
AC_ARG_ENABLE(shared,
|
||||
changequote(<<, >>)dnl
|
||||
<< --enable-shared[=PKGS] build shared libraries [default=>>AC_ENABLE_SHARED_DEFAULT],
|
||||
changequote([, ])dnl
|
||||
[p=${PACKAGE-default}
|
||||
case "$enableval" in
|
||||
yes) enable_shared=yes ;;
|
||||
no) enable_shared=no ;;
|
||||
*)
|
||||
enable_shared=no
|
||||
# Look at the argument we got. We use all the common list separators.
|
||||
IFS="${IFS= }"; ac_save_ifs="$IFS"; IFS="${IFS}:,"
|
||||
for pkg in $enableval; do
|
||||
if test "X$pkg" = "X$p"; then
|
||||
enable_shared=yes
|
||||
fi
|
||||
done
|
||||
IFS="$ac_save_ifs"
|
||||
;;
|
||||
esac],
|
||||
enable_shared=AC_ENABLE_SHARED_DEFAULT)dnl
|
||||
])
|
||||
|
||||
# AC_DISABLE_SHARED - set the default shared flag to --disable-shared
|
||||
AC_DEFUN(AC_DISABLE_SHARED, [AC_BEFORE([$0],[AC_LIBTOOL_SETUP])dnl
|
||||
AC_ENABLE_SHARED(no)])
|
||||
|
||||
# AC_ENABLE_STATIC - implement the --enable-static flag
|
||||
# Usage: AC_ENABLE_STATIC[(DEFAULT)]
|
||||
# Where DEFAULT is either `yes' or `no'. If omitted, it defaults to
|
||||
# `yes'.
|
||||
AC_DEFUN(AC_ENABLE_STATIC, [dnl
|
||||
define([AC_ENABLE_STATIC_DEFAULT], ifelse($1, no, no, yes))dnl
|
||||
AC_ARG_ENABLE(static,
|
||||
changequote(<<, >>)dnl
|
||||
<< --enable-static[=PKGS] build static libraries [default=>>AC_ENABLE_STATIC_DEFAULT],
|
||||
changequote([, ])dnl
|
||||
[p=${PACKAGE-default}
|
||||
case "$enableval" in
|
||||
yes) enable_static=yes ;;
|
||||
no) enable_static=no ;;
|
||||
*)
|
||||
enable_static=no
|
||||
# Look at the argument we got. We use all the common list separators.
|
||||
IFS="${IFS= }"; ac_save_ifs="$IFS"; IFS="${IFS}:,"
|
||||
for pkg in $enableval; do
|
||||
if test "X$pkg" = "X$p"; then
|
||||
enable_static=yes
|
||||
fi
|
||||
done
|
||||
IFS="$ac_save_ifs"
|
||||
;;
|
||||
esac],
|
||||
enable_static=AC_ENABLE_STATIC_DEFAULT)dnl
|
||||
])
|
||||
|
||||
# AC_DISABLE_STATIC - set the default static flag to --disable-static
|
||||
AC_DEFUN(AC_DISABLE_STATIC, [AC_BEFORE([$0],[AC_LIBTOOL_SETUP])dnl
|
||||
AC_ENABLE_STATIC(no)])
|
||||
|
||||
|
||||
# AC_ENABLE_FAST_INSTALL - implement the --enable-fast-install flag
|
||||
# Usage: AC_ENABLE_FAST_INSTALL[(DEFAULT)]
|
||||
# Where DEFAULT is either `yes' or `no'. If omitted, it defaults to
|
||||
# `yes'.
|
||||
AC_DEFUN(AC_ENABLE_FAST_INSTALL, [dnl
|
||||
define([AC_ENABLE_FAST_INSTALL_DEFAULT], ifelse($1, no, no, yes))dnl
|
||||
AC_ARG_ENABLE(fast-install,
|
||||
changequote(<<, >>)dnl
|
||||
<< --enable-fast-install[=PKGS] optimize for fast installation [default=>>AC_ENABLE_FAST_INSTALL_DEFAULT],
|
||||
changequote([, ])dnl
|
||||
[p=${PACKAGE-default}
|
||||
case "$enableval" in
|
||||
yes) enable_fast_install=yes ;;
|
||||
no) enable_fast_install=no ;;
|
||||
*)
|
||||
enable_fast_install=no
|
||||
# Look at the argument we got. We use all the common list separators.
|
||||
IFS="${IFS= }"; ac_save_ifs="$IFS"; IFS="${IFS}:,"
|
||||
for pkg in $enableval; do
|
||||
if test "X$pkg" = "X$p"; then
|
||||
enable_fast_install=yes
|
||||
fi
|
||||
done
|
||||
IFS="$ac_save_ifs"
|
||||
;;
|
||||
esac],
|
||||
enable_fast_install=AC_ENABLE_FAST_INSTALL_DEFAULT)dnl
|
||||
])
|
||||
|
||||
# AC_DISABLE_FAST_INSTALL - set the default to --disable-fast-install
|
||||
AC_DEFUN(AC_DISABLE_FAST_INSTALL, [AC_BEFORE([$0],[AC_LIBTOOL_SETUP])dnl
|
||||
AC_ENABLE_FAST_INSTALL(no)])
|
||||
|
||||
# AC_LIBTOOL_PICMODE - implement the --with-pic flag
|
||||
# Usage: AC_LIBTOOL_PICMODE[(MODE)]
|
||||
# Where MODE is either `yes' or `no'. If omitted, it defaults to
|
||||
# `both'.
|
||||
AC_DEFUN(AC_LIBTOOL_PICMODE, [AC_BEFORE([$0],[AC_LIBTOOL_SETUP])dnl
|
||||
pic_mode=ifelse($#,1,$1,default)])
|
||||
|
||||
|
||||
# AC_PATH_TOOL_PREFIX - find a file program which can recognise shared library
|
||||
AC_DEFUN(AC_PATH_TOOL_PREFIX,
|
||||
[AC_MSG_CHECKING([for $1])
|
||||
AC_CACHE_VAL(lt_cv_path_MAGIC,
|
||||
[case "$MAGIC" in
|
||||
/*)
|
||||
lt_cv_path_MAGIC="$MAGIC" # Let the user override the test with a path.
|
||||
;;
|
||||
?:/*)
|
||||
ac_cv_path_MAGIC="$MAGIC" # Let the user override the test with a dos path.
|
||||
;;
|
||||
*)
|
||||
ac_save_MAGIC="$MAGIC"
|
||||
IFS="${IFS= }"; ac_save_ifs="$IFS"; IFS=":"
|
||||
dnl $ac_dummy forces splitting on constant user-supplied paths.
|
||||
dnl POSIX.2 word splitting is done only on the output of word expansions,
|
||||
dnl not every word. This closes a longstanding sh security hole.
|
||||
ac_dummy="ifelse([$2], , $PATH, [$2])"
|
||||
for ac_dir in $ac_dummy; do
|
||||
test -z "$ac_dir" && ac_dir=.
|
||||
if test -f $ac_dir/$1; then
|
||||
lt_cv_path_MAGIC="$ac_dir/$1"
|
||||
if test -n "$file_magic_test_file"; then
|
||||
case "$deplibs_check_method" in
|
||||
"file_magic "*)
|
||||
file_magic_regex="`expr \"$deplibs_check_method\" : \"file_magic \(.*\)\"`"
|
||||
MAGIC="$lt_cv_path_MAGIC"
|
||||
if eval $file_magic_cmd \$file_magic_test_file 2> /dev/null |
|
||||
egrep "$file_magic_regex" > /dev/null; then
|
||||
:
|
||||
else
|
||||
cat <<EOF 1>&2
|
||||
|
||||
*** Warning: the command libtool uses to detect shared libraries,
|
||||
*** $file_magic_cmd, produces output that libtool cannot recognize.
|
||||
*** The result is that libtool may fail to recognize shared libraries
|
||||
*** as such. This will affect the creation of libtool libraries that
|
||||
*** depend on shared libraries, but programs linked with such libtool
|
||||
*** libraries will work regardless of this problem. Nevertheless, you
|
||||
*** may want to report the problem to your system manager and/or to
|
||||
*** bug-libtool@gnu.org
|
||||
|
||||
EOF
|
||||
fi ;;
|
||||
esac
|
||||
fi
|
||||
break
|
||||
fi
|
||||
done
|
||||
IFS="$ac_save_ifs"
|
||||
MAGIC="$ac_save_MAGIC"
|
||||
;;
|
||||
esac])
|
||||
MAGIC="$lt_cv_path_MAGIC"
|
||||
if test -n "$MAGIC"; then
|
||||
AC_MSG_RESULT($MAGIC)
|
||||
else
|
||||
AC_MSG_RESULT(no)
|
||||
fi
|
||||
])
|
||||
|
||||
|
||||
# AC_PATH_MAGIC - find a file program which can recognise a shared library
|
||||
AC_DEFUN(AC_PATH_MAGIC,
|
||||
[AC_REQUIRE([AC_CHECK_TOOL_PREFIX])dnl
|
||||
AC_PATH_TOOL_PREFIX(${ac_tool_prefix}file, /usr/bin:$PATH)
|
||||
if test -z "$lt_cv_path_MAGIC"; then
|
||||
if test -n "$ac_tool_prefix"; then
|
||||
AC_PATH_TOOL_PREFIX(file, /usr/bin:$PATH)
|
||||
else
|
||||
MAGIC=:
|
||||
fi
|
||||
fi
|
||||
])
|
||||
|
||||
|
||||
# AC_PROG_LD - find the path to the GNU or non-GNU linker
|
||||
AC_DEFUN(AC_PROG_LD,
|
||||
[AC_ARG_WITH(gnu-ld,
|
||||
[ --with-gnu-ld assume the C compiler uses GNU ld [default=no]],
|
||||
test "$withval" = no || with_gnu_ld=yes, with_gnu_ld=no)
|
||||
AC_REQUIRE([AC_PROG_CC])dnl
|
||||
AC_REQUIRE([AC_CANONICAL_HOST])dnl
|
||||
AC_REQUIRE([AC_CANONICAL_BUILD])dnl
|
||||
ac_prog=ld
|
||||
if test "$ac_cv_prog_gcc" = yes; then
|
||||
# Check if gcc -print-prog-name=ld gives a path.
|
||||
AC_MSG_CHECKING([for ld used by GCC])
|
||||
case $host in
|
||||
*-*-mingw*)
|
||||
# gcc leaves a trailing carriage return which upsets mingw
|
||||
ac_prog=`($CC -print-prog-name=ld) 2>&5 | tr -d '\015'` ;;
|
||||
*)
|
||||
ac_prog=`($CC -print-prog-name=ld) 2>&5` ;;
|
||||
esac
|
||||
case "$ac_prog" in
|
||||
# Accept absolute paths.
|
||||
changequote(,)dnl
|
||||
[\\/]* | [A-Za-z]:[\\/]*)
|
||||
re_direlt='/[^/][^/]*/\.\./'
|
||||
changequote([,])dnl
|
||||
# Canonicalize the path of ld
|
||||
ac_prog=`echo $ac_prog| sed 's%\\\\%/%g'`
|
||||
while echo $ac_prog | grep "$re_direlt" > /dev/null 2>&1; do
|
||||
ac_prog=`echo $ac_prog| sed "s%$re_direlt%/%"`
|
||||
done
|
||||
test -z "$LD" && LD="$ac_prog"
|
||||
;;
|
||||
"")
|
||||
# If it fails, then pretend we aren't using GCC.
|
||||
ac_prog=ld
|
||||
;;
|
||||
*)
|
||||
# If it is relative, then search for the first ld in PATH.
|
||||
with_gnu_ld=unknown
|
||||
;;
|
||||
esac
|
||||
elif test "$with_gnu_ld" = yes; then
|
||||
AC_MSG_CHECKING([for GNU ld])
|
||||
else
|
||||
AC_MSG_CHECKING([for non-GNU ld])
|
||||
fi
|
||||
AC_CACHE_VAL(ac_cv_path_LD,
|
||||
[if test -z "$LD"; then
|
||||
IFS="${IFS= }"; ac_save_ifs="$IFS"; IFS="${IFS}${PATH_SEPARATOR-:}"
|
||||
for ac_dir in $PATH; do
|
||||
test -z "$ac_dir" && ac_dir=.
|
||||
if test -f "$ac_dir/$ac_prog" || test -f "$ac_dir/$ac_prog$ac_exeext"; then
|
||||
ac_cv_path_LD="$ac_dir/$ac_prog"
|
||||
# Check to see if the program is GNU ld. I'd rather use --version,
|
||||
# but apparently some GNU ld's only accept -v.
|
||||
# Break only if it was the GNU/non-GNU ld that we prefer.
|
||||
if "$ac_cv_path_LD" -v 2>&1 < /dev/null | egrep '(GNU|with BFD)' > /dev/null; then
|
||||
test "$with_gnu_ld" != no && break
|
||||
else
|
||||
test "$with_gnu_ld" != yes && break
|
||||
fi
|
||||
fi
|
||||
done
|
||||
IFS="$ac_save_ifs"
|
||||
else
|
||||
ac_cv_path_LD="$LD" # Let the user override the test with a path.
|
||||
fi])
|
||||
LD="$ac_cv_path_LD"
|
||||
if test -n "$LD"; then
|
||||
AC_MSG_RESULT($LD)
|
||||
else
|
||||
AC_MSG_RESULT(no)
|
||||
fi
|
||||
test -z "$LD" && AC_MSG_ERROR([no acceptable ld found in \$PATH])
|
||||
AC_PROG_LD_GNU
|
||||
])
|
||||
|
||||
AC_DEFUN(AC_PROG_LD_GNU,
|
||||
[AC_CACHE_CHECK([if the linker ($LD) is GNU ld], ac_cv_prog_gnu_ld,
|
||||
[# I'd rather use --version here, but apparently some GNU ld's only accept -v.
|
||||
if $LD -v 2>&1 </dev/null | egrep '(GNU|with BFD)' 1>&5; then
|
||||
ac_cv_prog_gnu_ld=yes
|
||||
else
|
||||
ac_cv_prog_gnu_ld=no
|
||||
fi])
|
||||
with_gnu_ld=$ac_cv_prog_gnu_ld
|
||||
])
|
||||
|
||||
# AC_PROG_LD_RELOAD_FLAG - find reload flag for linker
|
||||
# -- PORTME Some linkers may need a different reload flag.
|
||||
AC_DEFUN(AC_PROG_LD_RELOAD_FLAG,
|
||||
[AC_CACHE_CHECK([for $LD option to reload object files], lt_cv_ld_reload_flag,
|
||||
[lt_cv_ld_reload_flag='-r'])
|
||||
reload_flag=$lt_cv_ld_reload_flag
|
||||
test -n "$reload_flag" && reload_flag=" $reload_flag"
|
||||
])
|
||||
|
||||
# AC_DEPLIBS_CHECK_METHOD - how to check for library dependencies
|
||||
# -- PORTME fill in with the dynamic library characteristics
|
||||
AC_DEFUN(AC_DEPLIBS_CHECK_METHOD,
|
||||
[AC_CACHE_CHECK([how to recognise dependant libraries],
|
||||
lt_cv_deplibs_check_method,
|
||||
[lt_cv_file_magic_cmd='${MAGIC}'
|
||||
lt_cv_file_magic_test_file=
|
||||
lt_cv_deplibs_check_method='unknown'
|
||||
# Need to set the preceding variable on all platforms that support
|
||||
# interlibrary dependencies.
|
||||
# 'none' -- dependencies not supported.
|
||||
# `unknown' -- same as none, but documents that we really don't know.
|
||||
# 'pass_all' -- all dependencies passed with no checks.
|
||||
# 'test_compile' -- check by making test program.
|
||||
# 'file_magic [regex]' -- check by looking for files in library path
|
||||
# which responds to the $file_magic_cmd with a given egrep regex.
|
||||
# If you have `file' or equivalent on your system and you're not sure
|
||||
# whether `pass_all' will *always* work, you probably want this one.
|
||||
|
||||
case "$host_os" in
|
||||
aix4*)
|
||||
lt_cv_deplibs_check_method=pass_all
|
||||
;;
|
||||
|
||||
beos*)
|
||||
lt_cv_deplibs_check_method=pass_all
|
||||
;;
|
||||
|
||||
bsdi4*)
|
||||
changequote(,)dnl
|
||||
lt_cv_deplibs_check_method='file_magic ELF [0-9][0-9]*-bit [ML]SB (shared object|dynamic lib)'
|
||||
changequote([, ])dnl
|
||||
lt_cv_file_magic_cmd='/usr/bin/file -L'
|
||||
lt_cv_file_magic_test_file=/shlib/libc.so
|
||||
;;
|
||||
|
||||
cygwin* | mingw*)
|
||||
lt_cv_deplibs_check_method='file_magic file format pei*-i386(.*architecture: i386)?'
|
||||
lt_cv_file_magic_cmd='${OBJDUMP} -f'
|
||||
;;
|
||||
|
||||
freebsd* )
|
||||
if echo __ELF__ | $CC -E - | grep __ELF__ > /dev/null; then
|
||||
case "$host_cpu" in
|
||||
i*86 )
|
||||
changequote(,)dnl
|
||||
lt_cv_deplibs_check_method=='file_magic OpenBSD/i[3-9]86 demand paged shared library'
|
||||
changequote([, ])dnl
|
||||
lt_cv_file_magic_cmd=/usr/bin/file
|
||||
lt_cv_file_magic_test_file=`echo /usr/lib/libc.so.*`
|
||||
;;
|
||||
esac
|
||||
else
|
||||
lt_cv_deplibs_check_method=pass_all
|
||||
fi
|
||||
;;
|
||||
|
||||
gnu*)
|
||||
lt_cv_deplibs_check_method=pass_all
|
||||
;;
|
||||
|
||||
hpux10.20*)
|
||||
# TODO: Does this work for hpux-11 too?
|
||||
lt_cv_deplibs_check_method='file_magic (s[0-9][0-9][0-9]|PA-RISC[0-9].[0-9]) shared library'
|
||||
lt_cv_file_magic_cmd=/usr/bin/file
|
||||
lt_cv_file_magic_test_file=/usr/lib/libc.sl
|
||||
;;
|
||||
|
||||
irix5* | irix6*)
|
||||
case "$host_os" in
|
||||
irix5*)
|
||||
# this will be overridden with pass_all, but let us keep it just in case
|
||||
lt_cv_deplibs_check_method="file_magic ELF 32-bit MSB dynamic lib MIPS - version 1"
|
||||
;;
|
||||
*)
|
||||
case "$LD" in
|
||||
*-32|*"-32 ") libmagic=32-bit;;
|
||||
*-n32|*"-n32 ") libmagic=N32;;
|
||||
*-64|*"-64 ") libmagic=64-bit;;
|
||||
*) libmagic=never-match;;
|
||||
esac
|
||||
# this will be overridden with pass_all, but let us keep it just in case
|
||||
changequote(,)dnl
|
||||
lt_cv_deplibs_check_method="file_magic ELF ${libmagic} MSB mips-[1234] dynamic lib MIPS - version 1"
|
||||
changequote([, ])dnl
|
||||
;;
|
||||
esac
|
||||
lt_cv_file_magic_test_file=`echo /lib${libsuff}/libc.so*`
|
||||
lt_cv_deplibs_check_method=pass_all
|
||||
;;
|
||||
|
||||
# This must be Linux ELF.
|
||||
linux-gnu*)
|
||||
case "$host_cpu" in
|
||||
alpha* | i*86 | powerpc* | sparc* | ia64* )
|
||||
lt_cv_deplibs_check_method=pass_all ;;
|
||||
*)
|
||||
# glibc up to 2.1.1 does not perform some relocations on ARM
|
||||
changequote(,)dnl
|
||||
lt_cv_deplibs_check_method='file_magic ELF [0-9][0-9]*-bit [LM]SB (shared object|dynamic lib )' ;;
|
||||
changequote([, ])dnl
|
||||
esac
|
||||
lt_cv_file_magic_test_file=`echo /lib/libc.so* /lib/libc-*.so`
|
||||
;;
|
||||
|
||||
netbsd*)
|
||||
if echo __ELF__ | $CC -E - | grep __ELF__ > /dev/null; then :
|
||||
else
|
||||
changequote(,)dnl
|
||||
lt_cv_deplibs_check_method='file_magic ELF [0-9][0-9]*-bit [LM]SB shared object'
|
||||
changequote([, ])dnl
|
||||
lt_cv_file_magic_cmd='/usr/bin/file -L'
|
||||
lt_cv_file_magic_test_file=`echo /usr/lib/libc.so*`
|
||||
fi
|
||||
;;
|
||||
|
||||
osf3* | osf4* | osf5*)
|
||||
# this will be overridden with pass_all, but let us keep it just in case
|
||||
lt_cv_deplibs_check_method='file_magic COFF format alpha shared library'
|
||||
lt_cv_file_magic_test_file=/shlib/libc.so
|
||||
lt_cv_deplibs_check_method=pass_all
|
||||
;;
|
||||
|
||||
sco3.2v5*)
|
||||
lt_cv_deplibs_check_method=pass_all
|
||||
;;
|
||||
|
||||
solaris*)
|
||||
lt_cv_deplibs_check_method=pass_all
|
||||
lt_cv_file_magic_test_file=/lib/libc.so
|
||||
;;
|
||||
|
||||
sysv4 | sysv4.2uw2* | sysv4.3* | sysv5*)
|
||||
case "$host_vendor" in
|
||||
ncr)
|
||||
lt_cv_deplibs_check_method=pass_all
|
||||
;;
|
||||
motorola)
|
||||
changequote(,)dnl
|
||||
lt_cv_deplibs_check_method='file_magic ELF [0-9][0-9]*-bit [ML]SB (shared object|dynamic lib) M[0-9][0-9]* Version [0-9]'
|
||||
changequote([, ])dnl
|
||||
lt_cv_file_magic_test_file=`echo /usr/lib/libc.so*`
|
||||
;;
|
||||
esac
|
||||
;;
|
||||
esac
|
||||
])
|
||||
file_magic_cmd=$lt_cv_file_magic_cmd
|
||||
deplibs_check_method=$lt_cv_deplibs_check_method
|
||||
])
|
||||
|
||||
|
||||
# AC_PROG_NM - find the path to a BSD-compatible name lister
|
||||
AC_DEFUN(AC_PROG_NM,
|
||||
[AC_MSG_CHECKING([for BSD-compatible nm])
|
||||
AC_CACHE_VAL(ac_cv_path_NM,
|
||||
[if test -n "$NM"; then
|
||||
# Let the user override the test.
|
||||
ac_cv_path_NM="$NM"
|
||||
else
|
||||
IFS="${IFS= }"; ac_save_ifs="$IFS"; IFS="${IFS}${PATH_SEPARATOR-:}"
|
||||
for ac_dir in $PATH /usr/ccs/bin /usr/ucb /bin; do
|
||||
test -z "$ac_dir" && ac_dir=.
|
||||
tmp_nm=$ac_dir/${ac_tool_prefix}nm
|
||||
if test -f $tmp_nm || test -f $tmp_nm$ac_exeext ; then
|
||||
# Check to see if the nm accepts a BSD-compat flag.
|
||||
# Adding the `sed 1q' prevents false positives on HP-UX, which says:
|
||||
# nm: unknown option "B" ignored
|
||||
if ($tmp_nm -B /dev/null 2>&1 | sed '1q'; exit 0) | egrep /dev/null >/dev/null; then
|
||||
ac_cv_path_NM="$tmp_nm -B"
|
||||
break
|
||||
elif ($tmp_nm -p /dev/null 2>&1 | sed '1q'; exit 0) | egrep /dev/null >/dev/null; then
|
||||
ac_cv_path_NM="$tmp_nm -p"
|
||||
break
|
||||
else
|
||||
ac_cv_path_NM=${ac_cv_path_NM="$tmp_nm"} # keep the first match, but
|
||||
continue # so that we can try to find one that supports BSD flags
|
||||
fi
|
||||
fi
|
||||
done
|
||||
IFS="$ac_save_ifs"
|
||||
test -z "$ac_cv_path_NM" && ac_cv_path_NM=nm
|
||||
fi])
|
||||
NM="$ac_cv_path_NM"
|
||||
AC_MSG_RESULT([$NM])
|
||||
])
|
||||
|
||||
# AC_CHECK_LIBM - check for math library
|
||||
AC_DEFUN(AC_CHECK_LIBM,
|
||||
[AC_REQUIRE([AC_CANONICAL_HOST])dnl
|
||||
LIBM=
|
||||
case "$host" in
|
||||
*-*-beos* | *-*-cygwin*)
|
||||
# These system don't have libm
|
||||
;;
|
||||
*-ncr-sysv4.3*)
|
||||
AC_CHECK_LIB(mw, _mwvalidcheckl, LIBM="-lmw")
|
||||
AC_CHECK_LIB(m, main, LIBM="$LIBM -lm")
|
||||
;;
|
||||
*)
|
||||
AC_CHECK_LIB(m, main, LIBM="-lm")
|
||||
;;
|
||||
esac
|
||||
])
|
||||
|
||||
# AC_LIBLTDL_CONVENIENCE[(dir)] - sets LIBLTDL to the link flags for
|
||||
# the libltdl convenience library and INCLTDL to the include flags for
|
||||
# the libltdl header and adds --enable-ltdl-convenience to the
|
||||
# configure arguments. Note that LIBLTDL and INCLTDL are not
|
||||
# AC_SUBSTed, nor is AC_CONFIG_SUBDIRS called. If DIR is not
|
||||
# provided, it is assumed to be `libltdl'. LIBLTDL will be prefixed
|
||||
# with '${top_builddir}/' and INCLTDL will be prefixed with
|
||||
# '${top_srcdir}/' (note the single quotes!). If your package is not
|
||||
# flat and you're not using automake, define top_builddir and
|
||||
# top_srcdir appropriately in the Makefiles.
|
||||
AC_DEFUN(AC_LIBLTDL_CONVENIENCE, [AC_BEFORE([$0],[AC_LIBTOOL_SETUP])dnl
|
||||
case "$enable_ltdl_convenience" in
|
||||
no) AC_MSG_ERROR([this package needs a convenience libltdl]) ;;
|
||||
"") enable_ltdl_convenience=yes
|
||||
ac_configure_args="$ac_configure_args --enable-ltdl-convenience" ;;
|
||||
esac
|
||||
LIBLTDL='${top_builddir}/'ifelse($#,1,[$1],['libltdl'])/libltdlc.la
|
||||
INCLTDL='-I${top_srcdir}/'ifelse($#,1,[$1],['libltdl'])
|
||||
])
|
||||
|
||||
# AC_LIBLTDL_INSTALLABLE[(dir)] - sets LIBLTDL to the link flags for
|
||||
# the libltdl installable library and INCLTDL to the include flags for
|
||||
# the libltdl header and adds --enable-ltdl-install to the configure
|
||||
# arguments. Note that LIBLTDL and INCLTDL are not AC_SUBSTed, nor is
|
||||
# AC_CONFIG_SUBDIRS called. If DIR is not provided and an installed
|
||||
# libltdl is not found, it is assumed to be `libltdl'. LIBLTDL will
|
||||
# be prefixed with '${top_builddir}/' and INCLTDL will be prefixed
|
||||
# with '${top_srcdir}/' (note the single quotes!). If your package is
|
||||
# not flat and you're not using automake, define top_builddir and
|
||||
# top_srcdir appropriately in the Makefiles.
|
||||
# In the future, this macro may have to be called after AC_PROG_LIBTOOL.
|
||||
AC_DEFUN(AC_LIBLTDL_INSTALLABLE, [AC_BEFORE([$0],[AC_LIBTOOL_SETUP])dnl
|
||||
AC_CHECK_LIB(ltdl, main,
|
||||
[test x"$enable_ltdl_install" != xyes && enable_ltdl_install=no],
|
||||
[if test x"$enable_ltdl_install" = xno; then
|
||||
AC_MSG_WARN([libltdl not installed, but installation disabled])
|
||||
else
|
||||
enable_ltdl_install=yes
|
||||
fi
|
||||
])
|
||||
if test x"$enable_ltdl_install" = x"yes"; then
|
||||
ac_configure_args="$ac_configure_args --enable-ltdl-install"
|
||||
LIBLTDL='${top_builddir}/'ifelse($#,1,[$1],['libltdl'])/libltdl.la
|
||||
INCLTDL='-I${top_srcdir}/'ifelse($#,1,[$1],['libltdl'])
|
||||
else
|
||||
ac_configure_args="$ac_configure_args --enable-ltdl-install=no"
|
||||
LIBLTDL="-lltdl"
|
||||
INCLTDL=
|
||||
fi
|
||||
])
|
||||
|
||||
# If this macro is not defined by Autoconf, define it here.
|
||||
ifdef([AC_PROVIDE_IFELSE],
|
||||
[],
|
||||
[define([AC_PROVIDE_IFELSE],
|
||||
[ifdef([AC_PROVIDE_$1],
|
||||
[$2], [$3])])])
|
||||
|
||||
# AC_LIBTOOL_CXX - enable support for C++ libraries
|
||||
AC_DEFUN(AC_LIBTOOL_CXX,[AC_REQUIRE([_AC_LIBTOOL_CXX])])
|
||||
AC_DEFUN(_AC_LIBTOOL_CXX,
|
||||
[AC_REQUIRE([AC_PROG_LIBTOOL])
|
||||
AC_REQUIRE([AC_PROG_CXX])
|
||||
AC_REQUIRE([AC_PROG_CXXCPP])
|
||||
LIBTOOL_DEPS=$LIBTOOL_DEPS" $ac_aux_dir/ltcf-cxx.sh"
|
||||
lt_save_CC="$CC"
|
||||
lt_save_CFLAGS="$CFLAGS"
|
||||
dnl Make sure LTCC is set to the C compiler, i.e. set LTCC before CC
|
||||
dnl is set to the C++ compiler.
|
||||
AR="$AR" LTCC="$CC" CC="$CXX" CXX="$CXX" CFLAGS="$CXXFLAGS" CPPFLAGS="$CPPFLAGS" \
|
||||
MAGIC="$MAGIC" LDFLAGS="$LDFLAGS" LIBS="$LIBS" \
|
||||
LN_S="$LN_S" NM="$NM" RANLIB="$RANLIB" STRIP="$STRIP" \
|
||||
AS="$AS" DLLTOOL="$DLLTOOL" OBJDUMP="$OBJDUMP" \
|
||||
objext="$OBJEXT" exeext="$EXEEXT" reload_flag="$reload_flag" \
|
||||
deplibs_check_method="$deplibs_check_method" \
|
||||
file_magic_cmd="$file_magic_cmd" \
|
||||
${CONFIG_SHELL-/bin/sh} $ac_aux_dir/ltconfig -o libtool $libtool_flags \
|
||||
--build="$build" --add-tag=CXX $ac_aux_dir/ltcf-cxx.sh $host \
|
||||
|| AC_MSG_ERROR([libtool tag configuration failed])
|
||||
CC="$lt_save_CC"
|
||||
CFLAGS="$lt_save_CFLAGS"
|
||||
|
||||
# Redirect the config.log output again, so that the ltconfig log is not
|
||||
# clobbered by the next message.
|
||||
exec 5>>./config.log
|
||||
])
|
||||
|
||||
# AC_LIBTOOL_GCJ - enable support for GCJ libraries
|
||||
AC_DEFUN(AC_LIBTOOL_GCJ,[AC_REQUIRE([_AC_LIBTOOL_GCJ])])
|
||||
AC_DEFUN(_AC_LIBTOOL_GCJ,
|
||||
[AC_REQUIRE([AC_PROG_LIBTOOL])
|
||||
AC_PROVIDE_IFELSE([AC_PROG_GCJ],[],
|
||||
[AC_PROVIDE_IFELSE([A][M_PROG_GCJ],[],
|
||||
[ifdef([AC_PROG_GCJ],[AC_REQUIRE([AC_PROG_GCJ])],
|
||||
[ifdef([A][M_PROG_GCJ],[AC_REQUIRE([A][M_PROG_GCJ])],
|
||||
[AC_REQUIRE([A][C_PROG_GCJ_OR_A][M_PROG_GCJ])])])])])
|
||||
LIBTOOL_DEPS=$LIBTOOL_DEPS" $ac_aux_dir/ltcf-gcj.sh"
|
||||
lt_save_CC="$CC"
|
||||
lt_save_CFLAGS="$CFLAGS"
|
||||
dnl Make sure LTCC is set to the C compiler, i.e. set LTCC before CC
|
||||
dnl is set to the C++ compiler.
|
||||
AR="$AR" LTCC="$CC" CC="$GCJ" CFLAGS="$GCJFLAGS" CPPFLAGS="" \
|
||||
MAGIC="$MAGIC" LDFLAGS="$LDFLAGS" LIBS="$LIBS" \
|
||||
LN_S="$LN_S" NM="$NM" RANLIB="$RANLIB" STRIP="$STRIP" \
|
||||
AS="$AS" DLLTOOL="$DLLTOOL" OBJDUMP="$OBJDUMP" \
|
||||
objext="$OBJEXT" exeext="$EXEEXT" reload_flag="$reload_flag" \
|
||||
deplibs_check_method="$deplibs_check_method" \
|
||||
file_magic_cmd="$file_magic_cmd" \
|
||||
${CONFIG_SHELL-/bin/sh} $ac_aux_dir/ltconfig -o libtool $libtool_flags \
|
||||
--build="$build" --add-tag=GCJ $ac_aux_dir/ltcf-gcj.sh $host \
|
||||
|| AC_MSG_ERROR([libtool tag configuration failed])
|
||||
CC="$lt_save_CC"
|
||||
CFLAGS="$lt_save_CFLAGS"
|
||||
|
||||
# Redirect the config.log output again, so that the ltconfig log is not
|
||||
# clobbered by the next message.
|
||||
exec 5>>./config.log
|
||||
])
|
||||
|
||||
dnl old names
|
||||
AC_DEFUN(AM_PROG_LIBTOOL, [indir([AC_PROG_LIBTOOL])])dnl
|
||||
AC_DEFUN(AM_ENABLE_SHARED, [indir([AC_ENABLE_SHARED], $@)])dnl
|
||||
AC_DEFUN(AM_ENABLE_STATIC, [indir([AC_ENABLE_STATIC], $@)])dnl
|
||||
AC_DEFUN(AM_DISABLE_SHARED, [indir([AC_DISABLE_SHARED], $@)])dnl
|
||||
AC_DEFUN(AM_DISABLE_STATIC, [indir([AC_DISABLE_STATIC], $@)])dnl
|
||||
AC_DEFUN(AM_PROG_LD, [indir([AC_PROG_LD])])dnl
|
||||
AC_DEFUN(AM_PROG_NM, [indir([AC_PROG_NM])])dnl
|
||||
|
||||
dnl This is just to silence aclocal about the macro not being used
|
||||
ifelse([AC_DISABLE_FAST_INSTALL])dnl
|
1384
libobjc/configure
vendored
1384
libobjc/configure
vendored
File diff suppressed because it is too large
Load Diff
@ -103,13 +103,20 @@ fi])
|
||||
GTHREAD_FLAGS=$objc_cv_gthread_flags
|
||||
AC_SUBST(GTHREAD_FLAGS)
|
||||
|
||||
# Disable shared libs by default
|
||||
AC_DISABLE_SHARED
|
||||
# Enable Win32 DLL on MS Windows - FIXME
|
||||
AC_LIBTOOL_WIN32_DLL
|
||||
# Use libtool
|
||||
AC_PROG_LIBTOOL
|
||||
|
||||
AC_ARG_ENABLE(objc-gc,
|
||||
[ --enable-objc-gc enable the use of Boehm's garbage collector with
|
||||
the GNU Objective-C runtime.],
|
||||
if [[[ x$enable_objc_gc = xno ]]]; then
|
||||
OBJC_BOEHM_GC=''
|
||||
else
|
||||
OBJC_BOEHM_GC=libobjc_gc.a
|
||||
OBJC_BOEHM_GC=libobjc_gc.la
|
||||
fi,
|
||||
OBJC_BOEHM_GC='')
|
||||
AC_SUBST(OBJC_BOEHM_GC)
|
||||
|
Loading…
Reference in New Issue
Block a user