mirror of
https://github.com/postgres/postgres.git
synced 2025-04-25 21:42:33 +03:00
Select CFLAGS_SL at configure time, not in platform-specific Makefiles.
Move the platform-dependent logic that sets CFLAGS_SL from src/makefiles/Makefile.foo to src/template/foo, so that the value is determined at configure time and thus is available while running configure's tests. On a couple of platforms this might save a few microseconds of build time by eliminating a test that make otherwise has to do over and over. Otherwise it's pretty much a wash for build purposes; in particular, this makes no difference to anyone who might be overriding CFLAGS_SL via a make option. This patch in itself does nothing with the value and thus should not change any behavior, though you'll probably have to re-run configure to get a correctly updated Makefile.global. We'll use the new configure variable in a follow-on patch. Per gripe from Kyotaro Horiguchi. Back-patch to all supported branches, because the follow-on patch is a portability bug fix. Discussion: https://postgr.es/m/20191010.144533.263180400.horikyota.ntt@gmail.com
This commit is contained in:
parent
62e881946c
commit
11330c311a
5
configure
vendored
5
configure
vendored
@ -725,6 +725,7 @@ autodepend
|
||||
TAS
|
||||
GCC
|
||||
CPP
|
||||
CFLAGS_SL
|
||||
CFLAGS_VECTOR
|
||||
SUN_STUDIO_CC
|
||||
OBJEXT
|
||||
@ -5039,7 +5040,6 @@ fi
|
||||
|
||||
fi
|
||||
|
||||
CFLAGS_VECTOR=$CFLAGS_VECTOR
|
||||
|
||||
|
||||
# supply -g if --enable-debug
|
||||
@ -5078,6 +5078,9 @@ fi
|
||||
# the automatic additions.
|
||||
CFLAGS="$CFLAGS $user_CFLAGS"
|
||||
|
||||
# The template file must set up CFLAGS_SL; we don't support user override
|
||||
|
||||
|
||||
# Check if the compiler still works with the final flag settings
|
||||
{ $as_echo "$as_me:${as_lineno-$LINENO}: checking whether the C compiler still works" >&5
|
||||
$as_echo_n "checking whether the C compiler still works... " >&6; }
|
||||
|
@ -480,7 +480,7 @@ elif test "$PORTNAME" = "hpux"; then
|
||||
PGAC_PROG_CC_CFLAGS_OPT([+Olibmerrno])
|
||||
fi
|
||||
|
||||
AC_SUBST(CFLAGS_VECTOR, $CFLAGS_VECTOR)
|
||||
AC_SUBST(CFLAGS_VECTOR)
|
||||
|
||||
# supply -g if --enable-debug
|
||||
if test "$enable_debug" = yes && test "$ac_cv_prog_cc_g" = yes; then
|
||||
@ -517,6 +517,9 @@ fi
|
||||
# the automatic additions.
|
||||
CFLAGS="$CFLAGS $user_CFLAGS"
|
||||
|
||||
# The template file must set up CFLAGS_SL; we don't support user override
|
||||
AC_SUBST(CFLAGS_SL)
|
||||
|
||||
# Check if the compiler still works with the final flag settings
|
||||
AC_MSG_CHECKING([whether the C compiler still works])
|
||||
AC_TRY_LINK([], [return 0;],
|
||||
|
@ -240,6 +240,7 @@ CC = @CC@
|
||||
GCC = @GCC@
|
||||
SUN_STUDIO_CC = @SUN_STUDIO_CC@
|
||||
CFLAGS = @CFLAGS@
|
||||
CFLAGS_SL = @CFLAGS_SL@
|
||||
CFLAGS_VECTOR = @CFLAGS_VECTOR@
|
||||
CFLAGS_SSE42 = @CFLAGS_SSE42@
|
||||
|
||||
|
@ -12,7 +12,6 @@ LIBS:=$(filter-out -lm -lc, $(LIBS))
|
||||
|
||||
AROPT = crs
|
||||
DLSUFFIX = .dll
|
||||
CFLAGS_SL =
|
||||
|
||||
override CPPFLAGS += -DWIN32_STACK_RLIMIT=$(WIN32_STACK_RLIMIT)
|
||||
|
||||
|
@ -7,8 +7,6 @@ endif
|
||||
|
||||
DLSUFFIX = .so
|
||||
|
||||
CFLAGS_SL = -fPIC -DPIC
|
||||
|
||||
# extra stuff for $(with_temp_install)
|
||||
# we need this to get LD_LIBRARY_PATH searched ahead of the compiled-in
|
||||
# rpath, if no DT_RUNPATH is present in the executable. The conditions
|
||||
|
@ -37,11 +37,6 @@ ifeq ($(host_cpu), ia64)
|
||||
else
|
||||
DLSUFFIX = .sl
|
||||
endif
|
||||
ifeq ($(GCC), yes)
|
||||
CFLAGS_SL = -fPIC
|
||||
else
|
||||
CFLAGS_SL = +Z
|
||||
endif
|
||||
|
||||
# env var name to use in place of LD_LIBRARY_PATH
|
||||
ld_library_path_var = SHLIB_PATH
|
||||
|
@ -7,8 +7,6 @@ rpath = -Wl,-rpath,'$(rpathdir)',--enable-new-dtags
|
||||
|
||||
DLSUFFIX = .so
|
||||
|
||||
CFLAGS_SL = -fPIC
|
||||
|
||||
|
||||
# Rule for building a shared library from a single .o file
|
||||
%.so: %.o
|
||||
|
@ -9,8 +9,6 @@ endif
|
||||
|
||||
DLSUFFIX = .so
|
||||
|
||||
CFLAGS_SL = -fPIC -DPIC
|
||||
|
||||
|
||||
# Rule for building a shared library from a single .o file
|
||||
%.so: %.o
|
||||
|
@ -7,8 +7,6 @@ endif
|
||||
|
||||
DLSUFFIX = .so
|
||||
|
||||
CFLAGS_SL = -fPIC -DPIC
|
||||
|
||||
|
||||
# Rule for building a shared library from a single .o file
|
||||
%.so: %.o
|
||||
|
@ -2,11 +2,7 @@ AROPT = cr
|
||||
export_dynamic = -Wl,-Bexport
|
||||
|
||||
DLSUFFIX = .so
|
||||
ifeq ($(GCC), yes)
|
||||
CFLAGS_SL = -fpic
|
||||
else
|
||||
CFLAGS_SL = -K PIC
|
||||
endif
|
||||
|
||||
|
||||
# Rule for building a shared library from a single .o file
|
||||
%.so: %.o
|
||||
|
@ -10,11 +10,7 @@ rpath = -Wl,-R'$(rpathdir)'
|
||||
endif
|
||||
|
||||
DLSUFFIX = .so
|
||||
ifeq ($(GCC), yes)
|
||||
CFLAGS_SL = -fPIC
|
||||
else
|
||||
CFLAGS_SL = -KPIC
|
||||
endif
|
||||
|
||||
|
||||
# Rule for building a shared library from a single .o file
|
||||
%.so: %.o
|
||||
|
@ -17,11 +17,7 @@ endif
|
||||
CFLAGS += $(PTHREAD_CFLAGS)
|
||||
|
||||
DLSUFFIX = .so
|
||||
ifeq ($(GCC), yes)
|
||||
CFLAGS_SL = -fpic
|
||||
else
|
||||
CFLAGS_SL = -K PIC
|
||||
endif
|
||||
|
||||
ifeq ($(GCC), yes)
|
||||
SO_FLAGS = -shared
|
||||
else
|
||||
|
@ -13,7 +13,6 @@ override CPPFLAGS += -DWIN32_STACK_RLIMIT=$(WIN32_STACK_RLIMIT)
|
||||
|
||||
AROPT = crs
|
||||
DLSUFFIX = .dll
|
||||
CFLAGS_SL =
|
||||
|
||||
ifneq (,$(findstring backend,$(subdir)))
|
||||
ifeq (,$(findstring conversion_procs,$(subdir)))
|
||||
|
@ -1,3 +1,5 @@
|
||||
# src/template/aix
|
||||
|
||||
# Set default options if using xlc. This formerly included -qsrcmsg, but that
|
||||
# option elicits internal compiler errors from xlc v16.1.0. Note: configure
|
||||
# will add -qnoansialias if the compiler accepts it, even if user specifies a
|
||||
@ -13,6 +15,9 @@ if test "$GCC" != yes ; then
|
||||
esac
|
||||
fi
|
||||
|
||||
# Extra CFLAGS for code that will go into a shared library
|
||||
CFLAGS_SL=""
|
||||
|
||||
# Native memset() is faster, tested on:
|
||||
# AIX 5.1 and 5.2, XLC 6.0 (IBM's cc)
|
||||
# AIX 5.3 ML3, gcc 4.0.1
|
||||
|
@ -2,6 +2,9 @@
|
||||
|
||||
SRCH_LIB="/usr/local/lib"
|
||||
|
||||
# Extra CFLAGS for code that will go into a shared library
|
||||
CFLAGS_SL=""
|
||||
|
||||
# --allow-multiple-definition is required to link pg_dump because it finds
|
||||
# pg_toupper() etc. in both libpq and pgport
|
||||
# we'd prefer to use --disable-auto-import to match MSVC linking behavior,
|
||||
|
@ -16,6 +16,9 @@ if test x"$PG_SYSROOT" != x"" ; then
|
||||
fi
|
||||
fi
|
||||
|
||||
# Extra CFLAGS for code that will go into a shared library
|
||||
CFLAGS_SL=""
|
||||
|
||||
# Select appropriate semaphore support. Darwin 6.0 (macOS 10.2) and up
|
||||
# support System V semaphores; before that we have to use named POSIX
|
||||
# semaphores, which are less good for our purposes because they eat a
|
||||
|
@ -1,5 +1,8 @@
|
||||
# src/template/freebsd
|
||||
|
||||
# Extra CFLAGS for code that will go into a shared library
|
||||
CFLAGS_SL="-fPIC -DPIC"
|
||||
|
||||
case $host_cpu in
|
||||
alpha*) CFLAGS="-O";; # alpha has problems with -O2
|
||||
esac
|
||||
|
@ -8,6 +8,13 @@ if test "$GCC" != yes ; then
|
||||
CFLAGS="+O2"
|
||||
fi
|
||||
|
||||
# Extra CFLAGS for code that will go into a shared library
|
||||
if test "$GCC" = yes ; then
|
||||
CFLAGS_SL="-fPIC"
|
||||
else
|
||||
CFLAGS_SL="+Z"
|
||||
fi
|
||||
|
||||
# Pick right test-and-set (TAS) code. We need out-of-line assembler
|
||||
# when not using gcc.
|
||||
case $host in
|
||||
|
@ -3,6 +3,9 @@
|
||||
# Force _GNU_SOURCE on; plperl is broken with Perl 5.8.0 otherwise
|
||||
CPPFLAGS="$CPPFLAGS -D_GNU_SOURCE"
|
||||
|
||||
# Extra CFLAGS for code that will go into a shared library
|
||||
CFLAGS_SL="-fPIC"
|
||||
|
||||
# If --enable-profiling is specified, we need -DLINUX_PROFILE
|
||||
PLATFORM_PROFILE_FLAGS="-DLINUX_PROFILE"
|
||||
|
||||
|
@ -1,2 +1,5 @@
|
||||
# src/template/netbsd
|
||||
# tools/thread/thread_test must be run
|
||||
|
||||
# Extra CFLAGS for code that will go into a shared library
|
||||
CFLAGS_SL="-fPIC -DPIC"
|
||||
|
@ -0,0 +1,4 @@
|
||||
# src/template/openbsd
|
||||
|
||||
# Extra CFLAGS for code that will go into a shared library
|
||||
CFLAGS_SL="-fPIC -DPIC"
|
@ -1 +1,10 @@
|
||||
# src/template/sco
|
||||
|
||||
CC="$CC -b elf"
|
||||
|
||||
# Extra CFLAGS for code that will go into a shared library
|
||||
if test "$GCC" = yes ; then
|
||||
CFLAGS_SL="-fpic"
|
||||
else
|
||||
CFLAGS_SL="-K PIC"
|
||||
fi
|
||||
|
@ -1,3 +1,12 @@
|
||||
# src/template/solaris
|
||||
|
||||
# Extra CFLAGS for code that will go into a shared library
|
||||
if test "$GCC" = yes ; then
|
||||
CFLAGS_SL="-fPIC"
|
||||
else
|
||||
CFLAGS_SL="-KPIC"
|
||||
fi
|
||||
|
||||
if test "$SUN_STUDIO_CC" = yes ; then
|
||||
CC="$CC -Xa" # relaxed ISO C mode
|
||||
CFLAGS="-v" # -v is like gcc -Wall
|
||||
|
@ -1,3 +1,5 @@
|
||||
# src/template/unixware
|
||||
|
||||
if test "$GCC" != yes; then
|
||||
# The -Kno_host is for a bug in the compiler. See -hackers
|
||||
# discussion on 7-8/Aug/2003.
|
||||
@ -37,5 +39,12 @@ __EOF__
|
||||
|
||||
fi
|
||||
|
||||
# Extra CFLAGS for code that will go into a shared library
|
||||
if test "$GCC" = yes ; then
|
||||
CFLAGS_SL="-fpic"
|
||||
else
|
||||
CFLAGS_SL="-K PIC"
|
||||
fi
|
||||
|
||||
# Unixware's ldap library reportedly needs these too
|
||||
EXTRA_LDAP_LIBS="-llber -lresolv"
|
||||
|
@ -1,5 +1,8 @@
|
||||
# src/template/win32
|
||||
|
||||
# Extra CFLAGS for code that will go into a shared library
|
||||
CFLAGS_SL=""
|
||||
|
||||
# --allow-multiple-definition is required to link pg_dump because it finds
|
||||
# pg_toupper() etc. in both libpq and pgport
|
||||
# --disable-auto-import is to ensure we get MSVC-like linking behavior
|
||||
|
Loading…
x
Reference in New Issue
Block a user