summaryrefslogtreecommitdiff
path: root/Makefile
diff options
context:
space:
mode:
authorSean McGovern <gseanmcg@gmail.com>2015-10-07 17:39:37 -0400
committerLuca Barbato <lu_zero@gentoo.org>2015-10-11 15:42:36 +0200
commitc1aac39eaccd32dc3b74ccfcce701d3d888fbc6b (patch)
tree99c2de788e2c57519aaee5495f0dee0bb71fbb14 /Makefile
parentb9ece15a01782b4f301c0c139d1d7b20f848914c (diff)
build: add Solaris symbol versioning
The versioning facility in the Solaris linker differs from Linux in 3 ways: 1. It does not support globs in linker scripts for symbol versioning -- this is a GNU extension. 2. The linker argument is '-M', instead of '--version-script'. 3. It is picky about line endings. Each symbol or directive must be on a line of it's own. Let's use make_sunver.pl from GCC to generate a version script that works correctly with the Solaris linker. It's function is to correctly expand the globs in the original generated version script. Signed-off-by: Luca Barbato <lu_zero@gentoo.org>
Diffstat (limited to 'Makefile')
-rw-r--r--Makefile4
1 files changed, 3 insertions, 1 deletions
diff --git a/Makefile b/Makefile
index e9a95aaec4..a453be75b4 100644
--- a/Makefile
+++ b/Makefile
@@ -56,7 +56,9 @@ COMPILE_HOSTC = $(call COMPILE,HOSTCC)
$(Q)echo '#include "$*.h"' >$@
%.ver: %.v
- $(Q)sed 's/$$MAJOR/$($(basename $(@F))_VERSION_MAJOR)/' $^ > $@
+ $(Q)sed 's/$$MAJOR/$($(basename $(@F))_VERSION_MAJOR)/' $^ | sed -e 's/:/:\
+/' -e 's/; /;\
+/g' > $@
%.c %.h: TAG = GEN