RFR: JDK-8140661 Rename LDFLAGS_SUFFIX to LIBS
Magnus Ihse Bursie
magnus.ihse.bursie at oracle.com
Wed Oct 28 21:03:46 UTC 2015
The build system has not been good at separating LIBS from LDFLAGS. In
fact, when we started doing this, the name "LDFLAGS_SUFFIX" was used for
what is traditionally called LIBS. This unwieldy name has unfortunately
been kept, and possibly as a cause of this, we have not been good at
differing between flags to the linker and libraries needed to link with.
We should rename LDFLAGS_SUFFIX (and all of it's variants) to LIBS, and
make sure we use LDFLAGS for flags and LIBS for libs.
I made this patch using sed to automatically replace LDFLAGS_SUFFIX with
LIBS. I then manually checked all renamed instances, and verified that
new names didn't clash with old names. I also used sed to rename
LDFLAGS_JDKLIB_SUFFIX to JDKLIB_LIBS (and correspondingly for JDKEXE).
When I had verified that all replacements were sound, I also did some
manual cleanup. It turned out that
a) we had not unified common libraries across platforms, e.g. repeating
them for multiple individual platforms instead of using LIBS_unix. This
was originally an explicit design goal to minimize spurious changes
compared to the old build system, but that is not relevant any longer
and needed to be fixed.
b) we had not properly separated LDFLAGS and LIBS, so in some cases we
sent linker flags in LIBS (formerly LDFLAGS_SUFFIX, so it might be
understandable) and library dependencies in LDFLAGS. (This is acceptable
for some linkers, however, for good style, we should use LIBS for
libraries consistently across platforms.)
I have fixed those issues, were I could find them.
Bug: https://bugs.openjdk.java.net/browse/JDK-8140661
WebRev:
http://cr.openjdk.java.net/~ihse/JDK-8140661-rename-LDFLAGS_SUFFIX-to-LIBS/webrev.01
/Magnus
More information about the build-dev
mailing list