Check whether Qt requires PIC

Also includes a buildsys update required for this.
This commit is contained in:
Jonathan Schleifer 2017-04-18 02:09:15 +02:00
parent c3ea2c3893
commit c3653e73be
No known key found for this signature in database
GPG key ID: 28D65178B37F33E3
2 changed files with 20 additions and 5 deletions

View file

@ -201,7 +201,7 @@ depend: pre-depend ${SRCS}
{ rm -f $@; false; }
.mm.mm.dep:
${CPP} ${CPPFLAGS} ${OBJCPPFLAGS} -M $< | \
${CPP} ${CPPFLAGS} ${OBJCXXFLAGS} -M $< | \
sed 's/^\([^\.]*\)\.o:/\1.o \1.lib.o \1.plugin.o:/' >$@ || \
{ rm -f $@; false; }
@ -513,7 +513,7 @@ locales: ${MO_FILES}
${COMPILE_STATUS}
in="$<"; \
out="$@"; \
if ${OBJCXX} ${OBJCXXFLAGS} ${OBJCFLAGS} ${CXXFLAGS} ${CPPFLAGS} ${OBJCXXFLAGS_$@} -c -o $@ $<; then \
if ${OBJCXX} ${OBJCXXFLAGS} ${CPPFLAGS} ${OBJCXXFLAGS_$@} -c -o $@ $<; then \
${COMPILE_OK}; \
else \
${COMPILE_FAILED}; \
@ -522,7 +522,7 @@ locales: ${MO_FILES}
${COMPILE_LIB_STATUS}
in="$<"; \
out="$@"; \
if ${OBJCXX} ${LIB_CFLAGS} ${OBJCXXFLAGS} ${OBJCFLAGS} ${CXXFLAGS} ${CPPFLAGS} ${OBJCXXFLAGS_$@} -c -o $@ $<; then \
if ${OBJCXX} ${LIB_CFLAGS} ${OBJCXXFLAGS} ${CPPFLAGS} ${OBJCXXFLAGS_$@} -c -o $@ $<; then \
${COMPILE_LIB_OK}; \
else \
${COMPILE_LIB_FAILED}; \
@ -531,7 +531,7 @@ locales: ${MO_FILES}
${COMPILE_PLUGIN_STATUS}
in="$<"; \
out="$@"; \
if ${OBJCXX} ${PLUGIN_CFLAGS} ${OBJCXXFLAGS} ${OBJCFLAGS} ${CXXFLAGS} ${CPPFLAGS} ${OBJCXXFLAGS_$@} -c -o $@ $<; then \
if ${OBJCXX} ${PLUGIN_CFLAGS} ${OBJCXXFLAGS} ${CPPFLAGS} ${OBJCXXFLAGS_$@} -c -o $@ $<; then \
${COMPILE_PLUGIN_OK}; \
else \
${COMPILE_PLUGIN_FAILED}; \

View file

@ -19,6 +19,7 @@ AC_PROG_OBJCXX(clang++ g++)
AC_PROG_OBJCXXCPP
AC_PROG_LN_S
AC_PROG_INSTALL
AC_PROG_EGREP
CPP="$OBJCXXCPP"
CPPFLAGS="$CPPFLAGS $OBJCPPFLAGS $($OBJFW_CONFIG --cppflags)"
@ -26,7 +27,7 @@ OBJCFLAGS="$OBJCFLAGS -Wall $($OBJFW_CONFIG --objcflags)"
LDFLAGS="$LDFLAGS $($OBJFW_CONFIG --ldflags --rpath)"
LIBS="$LIBS $($OBJFW_CONFIG --libs)"
AX_CHECK_COMPILER_FLAGS(-std=c++11, [CXXFLAGS="$CXXFLAGS -std=c++11"], [
AX_CHECK_COMPILER_FLAGS(-std=c++11, [OBJCXXFLAGS="$OBJCXXFLAGS -std=c++11"], [
AC_MSG_ERROR(You need a compiler that supports C++11!)
])
@ -88,6 +89,20 @@ AS_IF([test x"$GOBJC" = x"yes"], [
OBJCFLAGS="$OBJCFLAGS -Wwrite-strings -Wpointer-arith -Werror"
])
AC_MSG_CHECKING(whether Qt requires PIC)
AC_EGREP_CPP(yes, [
#include <qglobal.h>
#ifdef QT_REDUCE_RELOCATIONS
yes
#endif
], [
OBJCXXFLAGS="$LIB_CFLAGS $OBJCXXFLAGS"
AC_MSG_RESULT(yes)
], [
AC_MSG_RESULT(no)
])
BUILDSYS_INIT
dnl We don't call AC_PROG_CPP or AC_PROG_OBJC, but only AC_PROG_OBJCPPCXX and