1
0
mirror of https://github.com/samba-team/samba.git synced 2025-02-18 17:57:55 +03:00

r25850: Add macro for picflag.

This commit is contained in:
Jelmer Vernooij 2007-11-06 02:16:55 +01:00 committed by Stefan Metzmacher
parent 5a50aae868
commit 9ebc6f2d17
4 changed files with 67 additions and 21 deletions

View File

@ -56,7 +56,6 @@ case "$host_os" in
SHLD_FLAGS="-shared -Wl,-Bsymbolic"
SHLD_UNDEF_FLAGS="-Wl,--allow-shlib-undefined"
LDFLAGS="$LDFLAGS -Wl,--export-dynamic"
PICFLAG="-fPIC"
SONAMEFLAG="-Wl,-soname="
;;
*solaris*)
@ -64,13 +63,11 @@ case "$host_os" in
SHLD_FLAGS="-G"
SONAMEFLAG="-h "
if test "${GCC}" = "yes"; then
PICFLAG="-fPIC"
SONAMEFLAG="-Wl,-soname="
if test "${ac_cv_prog_gnu_ld}" = "yes"; then
LDFLAGS="$LDFLAGS -Wl,-E"
fi
else
PICFLAG="-KPIC"
## ${CFLAGS} added for building 64-bit shared
## libs using Sun's Compiler
SHLD_FLAGS="-G \${CFLAGS}"
@ -80,20 +77,17 @@ case "$host_os" in
BLDSHARED="true"
SHLD_FLAGS="-G"
SONAMEFLAG="-Wl,-h,"
PICFLAG="-KPIC" # Is this correct for SunOS
;;
*netbsd* | *freebsd* | *dragonfly* )
BLDSHARED="true"
LDFLAGS="$LDFLAGS -Wl,--export-dynamic"
SONAMEFLAG="-Wl,-soname,"
PICFLAG="-fPIC -DPIC"
;;
*openbsd*)
# disabled because us4 fails to link libtorture.so
BLDSHARED="false"
LDFLAGS="$LDFLAGS -Wl,-Bdynamic"
SONAMEFLAG="-Wl,-soname,"
PICFLAG="-fPIC"
;;
*irix*)
# disabled because us4 fails to link libtorture.so
@ -101,19 +95,12 @@ case "$host_os" in
SHLD_FLAGS="-set_version sgi1.0 -shared"
SONAMEFLAG="-soname "
SHLD="${PROG_LD}"
if test "${GCC}" = "yes"; then
PICFLAG="-fPIC"
else
PICFLAG="-KPIC"
fi
;;
*aix*)
# disabled because us4 fails to link libtorture.so
BLDSHARED="false"
SHLD_FLAGS="-Wl,-G,-bexpall,-bbigtoc"
LDFLAGS="$LDFLAGS -Wl,-brtl,-bexpall,-bbigtoc"
# as AIX code is always position independent...
PICFLAG="-O2"
;;
*hpux*)
# Use special PIC flags for the native HP-UX compiler.
@ -121,14 +108,11 @@ case "$host_os" in
BLDSHARED="true"
SHLD_FLAGS="-b -Wl,-B,symbolic,-b,-z"
SONAMEFLAG="-Wl,+h "
PICFLAG="+z +ESnolit"
elif test "${GCC}" = "yes"; then
BLDSHARED="true" # I hope this is correct
PICFLAG="-fPIC"
fi
if test "$host_cpu" = "ia64"; then
SHLIBEXT="so"
PICFLAG="+z"
LDFLAGS="$LDFLAGS -Wl,-E,+b/usr/local/lib/hpux32:/usr/lib/hpux32"
else
SHLIBEXT="sl"
@ -139,12 +123,10 @@ case "$host_os" in
# disabled because tru64 fails to link libtorture.so
BLDSHARED="false"
SONAMEFLAG="-Wl,-soname,"
PICFLAG="-fPIC"
;;
*unixware*)
BLDSHARED="true"
SONAMEFLAG="-Wl,-soname,"
PICFLAG="-KPIC"
;;
*darwin*)
BLDSHARED="true"
@ -167,6 +149,8 @@ AC_MSG_RESULT([$STLD])
AC_MSG_CHECKING([STLD_FLAGS])
AC_MSG_RESULT([$STLD_FLAGS])
AC_LD_PICFLAG
AC_ARG_ENABLE(shared,
[ --disable-shared Disable testing for building shared libraries],
[],[enable_shared=yes])

View File

@ -36,6 +36,7 @@ SHLIBEXT = @SHLIBEXT@
LD_EXPORT_DYNAMIC = @LD_EXPORT_DYNAMIC@
PICFLAG = @PICFLAG@
CFLAGS=-g -I$(srcdir)/include -Iinclude -I$(srcdir) -I$(srcdir)/.. \
$(POPT_CFLAGS) $(TALLOC_CFLAGS) $(TDB_CFLAGS) \
-DLIBDIR=\"$(libdir)\" -DSHLIBEXT=\"$(SHLIBEXT)\" -DUSE_MMAP=1 @CFLAGS@
@ -98,6 +99,11 @@ showflags:
@mkdir -p `dirname $@`
@$(CC) $(CFLAGS) -c $< -o $@
.c.po:
@echo Compiling $*.c
@mkdir -p `dirname $@`
@$(CC) $(CFLAGS) $(PICFLAG) -c $< -o $@
dirs:
@mkdir -p $(DIRS)
@ -108,8 +114,8 @@ lib/libldb.a: $(OBJS)
lib/libnss_ldb.so.2: $(NSS_OBJ) $(LIBS) bin/libldb.a
$(CC) -shared -Wl,-soname,libnss_ldb.so.2 -o lib/libnss_ldb.so.2 $(NSS_OBJ) $(OBJS) $(LIB_FLAGS)
sample_module.$(SHLIBEXT): tests/sample_module.o
$(CC) -shared -o $@ tests/sample_module.o
sample_module.$(SHLIBEXT): tests/sample_module.po
$(CC) -shared -o $@ tests/sample_module.po
bin/ldbadd: tools/ldbadd.o tools/cmdline.o $(LIBS)
$(CC) -o bin/ldbadd tools/ldbadd.o tools/cmdline.o $(LIB_FLAGS) $(LD_EXPORT_DYNAMIC)
@ -141,7 +147,7 @@ examples/ldbreader: examples/ldbreader.o $(LIBS)
examples/ldifreader: examples/ldifreader.o $(LIBS)
$(CC) -o examples/ldifreader examples/ldifreader.o $(LIB_FLAGS)
.SUFFIXES: .1 .1.xml .3 .3.xml .xml .html
.SUFFIXES: .1 .1.xml .3 .3.xml .xml .html .po
manpages:
@$(srcdir)/docs/builddocs.sh "$(XSLTPROC)" "$(srcdir)"

View File

@ -72,6 +72,7 @@ AC_SUBST(TESTS)
AC_SUBST(EXTRA_OBJ)
AC_LD_EXPORT_DYNAMIC
AC_LD_PICFLAG
m4_include(libldb.m4)
AC_OUTPUT(Makefile ldb.pc)

View File

@ -8,3 +8,58 @@ AC_LINK_IFELSE([ int main() { return 0; } ],
AC_SUBST(LD_EXPORT_DYNAMIC)
LDFLAGS="$saved_LDFLAGS"
])
AC_DEFUN([AC_LD_PICFLAG],
[
case "$host_os" in
*linux*)
PICFLAG="-fPIC"
;;
*solaris*)
if test "${GCC}" = "yes"; then
PICFLAG="-fPIC"
else
PICFLAG="-KPIC"
fi
;;
*sunos*)
PICFLAG="-KPIC" # Is this correct for SunOS
;;
*netbsd* | *freebsd* | *dragonfly* )
PICFLAG="-fPIC -DPIC"
;;
*openbsd*)
PICFLAG="-fPIC"
;;
*irix*)
if test "${GCC}" = "yes"; then
PICFLAG="-fPIC"
else
PICFLAG="-KPIC"
fi
;;
*aix*)
# as AIX code is always position independent...
PICFLAG="-O2"
;;
*hpux*)
if test $ac_cv_prog_cc_Ae = yes; then
PICFLAG="+z +ESnolit"
elif test "${GCC}" = "yes"; then
PICFLAG="-fPIC"
fi
if test "$host_cpu" = "ia64"; then
PICFLAG="+z"
fi
;;
*osf*)
PICFLAG="-fPIC"
;;
*unixware*)
PICFLAG="-KPIC"
;;
*darwin*)
;;
esac
AC_SUBST(PICFLAG)
])