Honor LDFLAGS. Fixes RELRO build.
This commit is contained in:
parent
bb4a16915d
commit
4053ae265f
6 changed files with 114 additions and 11 deletions
|
@ -1,4 +1,4 @@
|
|||
# $NetBSD: Makefile,v 1.110 2017/07/12 07:52:28 he Exp $
|
||||
# $NetBSD: Makefile,v 1.111 2017/07/17 23:26:23 wiz Exp $
|
||||
|
||||
.include "Makefile.common"
|
||||
|
||||
|
@ -72,6 +72,8 @@ PLIST_SRC+= ${PKGDIR}/PLIST
|
|||
INSTALL_MAKE_FLAGS+= SHELL=${SH:Q}
|
||||
.endif
|
||||
|
||||
INSTALLATION_DIRS= ${PKGMANDIR}/man1
|
||||
|
||||
OPSYSVARS+= EXTRA_RT_LIBS
|
||||
EXTRA_RT_LIBS.NetBSD= -lcurses
|
||||
EXTRA_RT_LIBS.*=
|
||||
|
@ -81,11 +83,17 @@ SUBST_FILES.extra-rt-libs= bytecomp/bytelink.ml
|
|||
SUBST_SED.extra-rt-libs+= -e 's,@EXTRA_RT_LIBS@,${EXTRA_RT_LIBS},g'
|
||||
SUBST_STAGE.extra-rt-libs= pre-configure
|
||||
|
||||
SUBST_CLASSES+= linkopts
|
||||
SUBST_FILES.linkopts= configure
|
||||
SUBST_SED.linkopts+= -e '\|bytecclinkopts=|s|""|"${LDFLAGS}"|'
|
||||
SUBST_SED.linkopts+= -e "\|nativecclinkopts=|s|''|\"${LDFLAGS:C/-Wl,//}\"|"
|
||||
SUBST_STAGE.linkopts= pre-configure
|
||||
SUBST_MESSAGE.linkopts= Honor LDFLAGS.
|
||||
|
||||
do-test:
|
||||
cd ${WRKSRC}/testsuite && ${MAKE_PROGRAM} all
|
||||
|
||||
post-install:
|
||||
${INSTALL_MAN_DIR} ${DESTDIR}${PREFIX}/${PKGMANDIR}/man1
|
||||
set -e ; cd ${DESTDIR}${PREFIX}/lib/ocaml/${PKGMANDIR}/man1; \
|
||||
for m in *; do \
|
||||
ln -s ${PREFIX}/lib/ocaml/${PKGMANDIR}/man1/$$m \
|
||||
|
|
|
@ -1,4 +1,4 @@
|
|||
$NetBSD: distinfo,v 1.106 2017/07/12 07:52:28 he Exp $
|
||||
$NetBSD: distinfo,v 1.107 2017/07/17 23:26:23 wiz Exp $
|
||||
|
||||
SHA1 (ocaml-4.04.2.tar.gz) = 24281675ea90c9234e323d556f1d4cd7bdab8ec1
|
||||
RMD160 (ocaml-4.04.2.tar.gz) = 3d8f78cd544815233f814a0e24eba8d3c948b190
|
||||
|
@ -19,10 +19,11 @@ SHA1 (patch-driver_optmain.ml) = 5ce77f1f906ce59cb533b4d25e4d57f7a70ab1b3
|
|||
SHA1 (patch-man_Makefile) = f4fcde662061e7e7e664ec42617f1e37f1fcf214
|
||||
SHA1 (patch-ocamldoc_Makefile) = ba4e2c76e1f2832988dd6933cd9d68a7ba3fb870
|
||||
SHA1 (patch-ocamldoc_odoc__messages.ml) = 77f650a5f34f40b9648a8d5091e9aa31efb5734b
|
||||
SHA1 (patch-otherlibs_Makefile) = e7b777dd1c5723eb5950db38525fd9565258801f
|
||||
SHA1 (patch-otherlibs_bigarray_mmap__unix.c) = 39979990e3463c944598ac0d0bf8a2c4a3f0d558
|
||||
SHA1 (patch-otherlibs_dynlink_Makefile) = f892254a5e5a01462ecbf68e45f9bfe5783158d3
|
||||
SHA1 (patch-otherlibs_systhreads_Makefile) = d731864c613383b36846cae4961b7a221bd6160e
|
||||
SHA1 (patch-otherlibs_threads_Makefile) = 47331a06a93eac68403fa2114495782430087f1e
|
||||
SHA1 (patch-otherlibs_systhreads_Makefile) = cc579ea90c738b6ae8a377d15695b907b630e660
|
||||
SHA1 (patch-otherlibs_threads_Makefile) = 3d01ed6de00d8d1991e7cd3ec4fa004f542792e9
|
||||
SHA1 (patch-stdlib_Makefile) = 67591b1809dd72aac446238491e371d135466734
|
||||
SHA1 (patch-stdlib_Makefile.shared) = dac87da3b0461a2c816b862af3a0c0bdf740b749
|
||||
SHA1 (patch-testsuite_tests_tool-ocamldoc-man_Makefile) = 41c7d6ffa98ed4f4fe261d6ed890be045c55adaf
|
||||
|
@ -32,3 +33,4 @@ SHA1 (patch-tools_ocamlmklib) = 49ea077e3f77527336548ae6515d135461b83080
|
|||
SHA1 (patch-tools_ocamloptp.ml) = bb6ba38e9bb260117d67491566474fda750d708b
|
||||
SHA1 (patch-utils_clflags.ml) = d16832fedb5db08d035f1661eaf9c3b48411bc69
|
||||
SHA1 (patch-utils_clflags.mli) = 381951d9583e032d3a520b68a8fe9f867ec49995
|
||||
SHA1 (patch-yacc_Makefile) = e7e77becbc1872fedd37bdeb4614739eb67977c8
|
||||
|
|
23
lang/ocaml/patches/patch-otherlibs_Makefile
Normal file
23
lang/ocaml/patches/patch-otherlibs_Makefile
Normal file
|
@ -0,0 +1,23 @@
|
|||
$NetBSD: patch-otherlibs_Makefile,v 1.6 2017/07/17 23:26:23 wiz Exp $
|
||||
|
||||
Honor LDFLAGS.
|
||||
|
||||
--- otherlibs/Makefile.orig 2017-06-23 15:13:40.000000000 +0000
|
||||
+++ otherlibs/Makefile
|
||||
@@ -32,7 +32,7 @@ CAMLOPT=$(CAMLRUN) $(ROOTDIR)/ocamlopt -
|
||||
CFLAGS=-I$(ROOTDIR)/byterun $(SHAREDCCCOMPOPTS) $(EXTRACFLAGS)
|
||||
|
||||
# Compilation options
|
||||
-CC=$(BYTECC)
|
||||
+CC=$(BYTECC) $(BYTECCLINKOPTS)
|
||||
COMPFLAGS=-absname -w +a-4-9-41-42-44-45-48 -warn-error A -bin-annot -g \
|
||||
-safe-string -strict-sequence -strict-formats $(EXTRACAMLFLAGS)
|
||||
ifeq "$(FLAMBDA)" "true"
|
||||
@@ -53,6 +53,7 @@ MKLIB=$(CAMLRUN) $(ROOTDIR)/tools/ocamlm
|
||||
#LINKOPTS=
|
||||
#LDOPTS=
|
||||
#HEADERS=
|
||||
+LDOPTS=-ldopt "$(LDFLAGS)"
|
||||
|
||||
CMIFILES ?= $(CAMLOBJS:.cmo=.cmi)
|
||||
CAMLOBJS_NAT ?= $(CAMLOBJS:.cmo=.cmx)
|
|
@ -1,10 +1,36 @@
|
|||
$NetBSD: patch-otherlibs_systhreads_Makefile,v 1.5 2016/05/05 08:12:01 jaapb Exp $
|
||||
$NetBSD: patch-otherlibs_systhreads_Makefile,v 1.6 2017/07/17 23:26:23 wiz Exp $
|
||||
|
||||
Use BSD_INSTALL_* instead of mkdir and cp
|
||||
|
||||
--- otherlibs/systhreads/Makefile.orig 2016-04-01 12:53:41.000000000 +0000
|
||||
--- otherlibs/systhreads/Makefile.orig 2017-06-23 15:13:40.000000000 +0000
|
||||
+++ otherlibs/systhreads/Makefile
|
||||
@@ -86,21 +86,21 @@ INSTALL_STUBLIBDIR=$(DESTDIR)$(STUBLIBDI
|
||||
@@ -29,6 +29,7 @@ OPTCOMPFLAGS=-O3
|
||||
else
|
||||
OPTCOMPFLAGS=
|
||||
endif
|
||||
+LDOPTS=-ldopt "$(LDFLAGS)"
|
||||
|
||||
BYTECODE_C_OBJS=st_stubs_b.o
|
||||
NATIVECODE_C_OBJS=st_stubs_n.o
|
||||
@@ -40,7 +41,7 @@ all: libthreads.a threads.cma
|
||||
allopt: libthreadsnat.a threads.cmxa
|
||||
|
||||
libthreads.a: $(BYTECODE_C_OBJS)
|
||||
- $(MKLIB) -o threads $(BYTECODE_C_OBJS) $(PTHREAD_LINK)
|
||||
+ $(MKLIB) -o threads $(BYTECODE_C_OBJS) $(PTHREAD_LINK) $(LDOPTS)
|
||||
|
||||
st_stubs_b.o: st_stubs.c st_posix.h
|
||||
$(BYTECC) -I../../byterun $(BYTECCCOMPOPTS) $(SHAREDCCCOMPOPTS) \
|
||||
@@ -60,7 +61,7 @@ st_stubs_n.o: st_stubs.c st_posix.h
|
||||
|
||||
threads.cma: $(THREAD_OBJS)
|
||||
$(MKLIB) -ocamlc '$(CAMLC)' -o threads $(THREAD_OBJS) \
|
||||
- -cclib -lunix $(PTHREAD_CAML_LINK)
|
||||
+ -cclib -lunix $(PTHREAD_CAML_LINK) $(LDOPTS)
|
||||
|
||||
# See remark above: force static linking of libthreadsnat.a
|
||||
threads.cmxa: $(THREAD_OBJS:.cmo=.cmx)
|
||||
@@ -86,21 +87,21 @@ INSTALL_STUBLIBDIR=$(DESTDIR)$(STUBLIBDI
|
||||
|
||||
install:
|
||||
if test -f dllthreads.so; then \
|
||||
|
|
|
@ -1,10 +1,39 @@
|
|||
$NetBSD: patch-otherlibs_threads_Makefile,v 1.7 2016/05/05 08:12:01 jaapb Exp $
|
||||
$NetBSD: patch-otherlibs_threads_Makefile,v 1.8 2017/07/17 23:26:23 wiz Exp $
|
||||
|
||||
Use BSD_INSTALL_* instead of mkdir and cp
|
||||
|
||||
--- otherlibs/threads/Makefile.orig 2016-04-01 12:53:41.000000000 +0000
|
||||
--- otherlibs/threads/Makefile.orig 2017-06-23 15:13:40.000000000 +0000
|
||||
+++ otherlibs/threads/Makefile
|
||||
@@ -109,14 +109,14 @@ INSTALL_STUBLIBDIR=$(DESTDIR)$(STUBLIBDI
|
||||
@@ -31,6 +31,8 @@ C_OBJS=scheduler.o
|
||||
|
||||
CAML_OBJS=thread.cmo mutex.cmo condition.cmo event.cmo threadUnix.cmo
|
||||
|
||||
+LDOPTS=-ldopt "$(LDFLAGS)"
|
||||
+
|
||||
LIB=../../stdlib
|
||||
|
||||
LIB_OBJS=$(LIB)/camlinternalFormatBasics.cmo pervasives.cmo \
|
||||
@@ -59,16 +61,16 @@ all: libvmthreads.a threads.cma stdlib.c
|
||||
allopt:
|
||||
|
||||
libvmthreads.a: $(C_OBJS)
|
||||
- $(MKLIB) -o threads -oc vmthreads $(C_OBJS)
|
||||
+ $(MKLIB) -o threads -oc vmthreads $(C_OBJS) $(LDOPTS)
|
||||
|
||||
threads.cma: $(CAML_OBJS)
|
||||
- $(MKLIB) -ocamlc '$(CAMLC)' -o threads -oc vmthreads $(CAML_OBJS)
|
||||
+ $(MKLIB) -ocamlc '$(CAMLC)' -o threads -oc vmthreads $(CAML_OBJS) $(LDOPTS)
|
||||
|
||||
stdlib.cma: $(LIB_OBJS)
|
||||
$(CAMLC) -a -o stdlib.cma $(LIB_OBJS)
|
||||
|
||||
unix.cma: $(UNIXLIB_OBJS)
|
||||
- $(MKLIB) -ocamlc '$(CAMLC)' -o unix -linkall $(UNIXLIB_OBJS)
|
||||
+ $(MKLIB) -ocamlc '$(CAMLC)' -o unix -linkall $(UNIXLIB_OBJS) $(LDOPTS)
|
||||
|
||||
pervasives.cmo: pervasives.mli pervasives.cmi pervasives.ml
|
||||
$(CAMLC) ${COMPFLAGS} -nopervasives -c pervasives.ml
|
||||
@@ -109,14 +111,14 @@ INSTALL_STUBLIBDIR=$(DESTDIR)$(STUBLIBDI
|
||||
|
||||
install:
|
||||
if test -f dllvmthreads.so; then \
|
||||
|
|
15
lang/ocaml/patches/patch-yacc_Makefile
Normal file
15
lang/ocaml/patches/patch-yacc_Makefile
Normal file
|
@ -0,0 +1,15 @@
|
|||
$NetBSD: patch-yacc_Makefile,v 1.1 2017/07/17 23:26:23 wiz Exp $
|
||||
|
||||
Honor LDFLAGS when building ocamlyacc.
|
||||
|
||||
--- yacc/Makefile.orig 2017-06-23 15:13:40.000000000 +0000
|
||||
+++ yacc/Makefile
|
||||
@@ -27,7 +27,7 @@ OBJS= closure.$(O) error.$(O) lalr.$(O)
|
||||
all: ocamlyacc$(EXE)
|
||||
|
||||
ocamlyacc$(EXE): $(OBJS)
|
||||
- $(MKEXE) -o ocamlyacc$(EXE) $(OBJS) $(EXTRALIBS)
|
||||
+ $(MKEXE) $(BYTECCLINKOPTS) -o ocamlyacc$(EXE) $(OBJS) $(EXTRALIBS)
|
||||
|
||||
version.h : ../VERSION
|
||||
echo "#define OCAML_VERSION \"`sed -e 1q $^ | tr -d '\r'`\"" > $@
|
Loading…
Reference in a new issue