common/autoconf/flags.m4

changeset 2496
f2715985987e
parent 2482
5f55e79422a0
child 2497
343c4ea489d5
equal deleted inserted replaced
2495:e8b56e0eaa7b 2496:f2715985987e
154 # How to compile shared libraries. 154 # How to compile shared libraries.
155 # 155 #
156 156
157 if test "x$TOOLCHAIN_TYPE" = xgcc; then 157 if test "x$TOOLCHAIN_TYPE" = xgcc; then
158 PICFLAG="-fPIC" 158 PICFLAG="-fPIC"
159 PIEFLAG="-fPIE"
159 C_FLAG_REORDER='' 160 C_FLAG_REORDER=''
160 CXX_FLAG_REORDER='' 161 CXX_FLAG_REORDER=''
161 162
162 if test "x$OPENJDK_TARGET_OS" = xmacosx; then 163 if test "x$OPENJDK_TARGET_OS" = xmacosx; then
163 # Linking is different on MacOSX 164 # Linking is different on MacOSX
174 SET_SHARED_LIBRARY_NAME='-Xlinker -soname=[$]1' 175 SET_SHARED_LIBRARY_NAME='-Xlinker -soname=[$]1'
175 SET_SHARED_LIBRARY_MAPFILE='-Xlinker -version-script=[$]1' 176 SET_SHARED_LIBRARY_MAPFILE='-Xlinker -version-script=[$]1'
176 fi 177 fi
177 elif test "x$TOOLCHAIN_TYPE" = xsolstudio; then 178 elif test "x$TOOLCHAIN_TYPE" = xsolstudio; then
178 PICFLAG="-KPIC" 179 PICFLAG="-KPIC"
180 PIEFLAG=""
179 C_FLAG_REORDER='-xF' 181 C_FLAG_REORDER='-xF'
180 CXX_FLAG_REORDER='-xF' 182 CXX_FLAG_REORDER='-xF'
181 SHARED_LIBRARY_FLAGS="-G" 183 SHARED_LIBRARY_FLAGS="-G"
182 SET_EXECUTABLE_ORIGIN='-R\$$$$ORIGIN[$]1' 184 SET_EXECUTABLE_ORIGIN='-R\$$$$ORIGIN[$]1'
183 SET_SHARED_LIBRARY_ORIGIN="$SET_EXECUTABLE_ORIGIN" 185 SET_SHARED_LIBRARY_ORIGIN="$SET_EXECUTABLE_ORIGIN"
184 SET_SHARED_LIBRARY_NAME='' 186 SET_SHARED_LIBRARY_NAME=''
185 SET_SHARED_LIBRARY_MAPFILE='-M[$]1' 187 SET_SHARED_LIBRARY_MAPFILE='-M[$]1'
186 elif test "x$TOOLCHAIN_TYPE" = xxlc; then 188 elif test "x$TOOLCHAIN_TYPE" = xxlc; then
187 PICFLAG="-qpic=large" 189 PICFLAG="-qpic=large"
190 PIEFLAG=""
188 C_FLAG_REORDER='' 191 C_FLAG_REORDER=''
189 CXX_FLAG_REORDER='' 192 CXX_FLAG_REORDER=''
190 SHARED_LIBRARY_FLAGS="-qmkshrobj" 193 SHARED_LIBRARY_FLAGS="-qmkshrobj"
191 SET_EXECUTABLE_ORIGIN="" 194 SET_EXECUTABLE_ORIGIN=""
192 SET_SHARED_LIBRARY_ORIGIN='' 195 SET_SHARED_LIBRARY_ORIGIN=''
193 SET_SHARED_LIBRARY_NAME='' 196 SET_SHARED_LIBRARY_NAME=''
194 SET_SHARED_LIBRARY_MAPFILE='' 197 SET_SHARED_LIBRARY_MAPFILE=''
195 elif test "x$TOOLCHAIN_TYPE" = xmicrosoft; then 198 elif test "x$TOOLCHAIN_TYPE" = xmicrosoft; then
196 PICFLAG="" 199 PICFLAG=""
200 PIEFLAG=""
197 C_FLAG_REORDER='' 201 C_FLAG_REORDER=''
198 CXX_FLAG_REORDER='' 202 CXX_FLAG_REORDER=''
199 SHARED_LIBRARY_FLAGS="-LD" 203 SHARED_LIBRARY_FLAGS="-LD"
200 SET_EXECUTABLE_ORIGIN='' 204 SET_EXECUTABLE_ORIGIN=''
201 SET_SHARED_LIBRARY_ORIGIN='' 205 SET_SHARED_LIBRARY_ORIGIN=''
656 # The shared libraries are compiled using the picflag. 660 # The shared libraries are compiled using the picflag.
657 CFLAGS_JDKLIB="$CCXXFLAGS_JDK $CFLAGS_JDK $PICFLAG $CFLAGS_JDKLIB_EXTRA" 661 CFLAGS_JDKLIB="$CCXXFLAGS_JDK $CFLAGS_JDK $PICFLAG $CFLAGS_JDKLIB_EXTRA"
658 CXXFLAGS_JDKLIB="$CCXXFLAGS_JDK $CXXFLAGS_JDK $PICFLAG $CXXFLAGS_JDKLIB_EXTRA " 662 CXXFLAGS_JDKLIB="$CCXXFLAGS_JDK $CXXFLAGS_JDK $PICFLAG $CXXFLAGS_JDKLIB_EXTRA "
659 663
660 # Executable flags 664 # Executable flags
661 CFLAGS_JDKEXE="$CCXXFLAGS_JDK $CFLAGS_JDK" 665 CFLAGS_JDKEXE="$CCXXFLAGS_JDK $CFLAGS_JDK $PIEFLAG"
662 CXXFLAGS_JDKEXE="$CCXXFLAGS_JDK $CXXFLAGS_JDK" 666 CXXFLAGS_JDKEXE="$CCXXFLAGS_JDK $CXXFLAGS_JDK $PIEFLAG"
663 667
664 AC_SUBST(CFLAGS_JDKLIB) 668 AC_SUBST(CFLAGS_JDKLIB)
665 AC_SUBST(CFLAGS_JDKEXE) 669 AC_SUBST(CFLAGS_JDKEXE)
666 AC_SUBST(CXXFLAGS_JDKLIB) 670 AC_SUBST(CXXFLAGS_JDKLIB)
667 AC_SUBST(CXXFLAGS_JDKEXE) 671 AC_SUBST(CXXFLAGS_JDKEXE)
740 744
741 LDFLAGS_JDKEXE="${LDFLAGS_JDK}" 745 LDFLAGS_JDKEXE="${LDFLAGS_JDK}"
742 if test "x$OPENJDK_TARGET_OS" = xlinux; then 746 if test "x$OPENJDK_TARGET_OS" = xlinux; then
743 LDFLAGS_JDKEXE="$LDFLAGS_JDKEXE -Xlinker --allow-shlib-undefined" 747 LDFLAGS_JDKEXE="$LDFLAGS_JDKEXE -Xlinker --allow-shlib-undefined"
744 fi 748 fi
749 if test "x$TOOLCHAIN_TYPE" = xgcc; then
750 LDFLAGS_JDKEXE="$LDFLAGS_JDKEXE -pie"
751 fi
745 fi 752 fi
746 AC_SUBST(LDFLAGS_JDKLIB) 753 AC_SUBST(LDFLAGS_JDKLIB)
747 AC_SUBST(LDFLAGS_JDKEXE) 754 AC_SUBST(LDFLAGS_JDKEXE)
748 AC_SUBST(LDFLAGS_JDKLIB_SUFFIX) 755 AC_SUBST(LDFLAGS_JDKLIB_SUFFIX)
749 AC_SUBST(LDFLAGS_JDKEXE_SUFFIX) 756 AC_SUBST(LDFLAGS_JDKEXE_SUFFIX)

mercurial