Date: Fri, 22 Apr 2016 09:20:29 +0200 From: Mathieu Arnold <mat@FreeBSD.org> To: Julian Elischer <julian@freebsd.org>, olli hauer <ohauer@gmx.de>, ports@freebsd.org Subject: Re: compiling ports with --sysroot= and -isystem Message-ID: <74A87D9160FCA7315CE3B2A8@atuin.in.mat.cc> In-Reply-To: <5719A06D.4050805@freebsd.org> References: <571986C4.5050303@freebsd.org> <571997EB.9090901@gmx.de> <5719A06D.4050805@freebsd.org>
index | next in thread | previous in thread | raw e-mail
[-- Attachment #1 --]
+--On 22 avril 2016 11:54:21 +0800 Julian Elischer <julian@freebsd.org>
wrote:
| On 22/04/2016 11:18 AM, olli hauer wrote:
|> On 2016-04-22 04:04, Julian Elischer wrote:
|>> How can I add entries (like the above) to a port compile?
|>> I want to ADD things to CFLAGS.
|>> If I add 'CFLAGS=...' to the build (for example, of lsof) it actually
|>> replaces all the CFLAGS already there. lsof (as the example) uses
|>> configure, so I would need to feed the added stuff into configure. Is
|>> there a standard way to do this? In the environment I'm using, I'm
|>> building for a machine that is not the build machine, but an appliance.
|>> It has a small number of differences in the include file contents, so I
|>> want it to compile using a different set of includes than those in
|>> /usr/include.
|>>
|>> On the other hand I'm building a bunch of tools that do have t orun on
|>> the build machine and they need to use the regular /usr/include so I
|>> don't really want to replace them..
|>>
|>>
|>> Julian
|>>
|>> p.s. usual "please reply directly" comment applies.. I'm on this list
|>> but get it in digest form..
|>>
|> Use the '+=' notation, e.g.
|>
|> # Makefile
|> ...
|> CFLAGS+= "--sysroot=...."
|> ...
|
| sorry I wasn't clear..
|
| I want to add something to the make command, not edit Makefiles.
|
| I could add something to bsd.autotools.mk or some similar Makefile
| include. but really I want to do it on a case by case basis.
| there is an averall Makefile (using gmake) that effectively does:
| cd /usr/ports/$(PORT_DIR); $(BMAKE) $(ARGS) install clean
|
| (except it does a lot of them)
|
| I want to know what to add to $(ARGS) to make it use the correct include
| files. my current "work-around" is to do:
|
| mv /usr/include /usr/include.hold; ln -s $(STAGING_DIR)/usr/include
| /usr/include
| cd /usr/ports/$(PORT_DIR); $(BMAKE) $(ARGS) install clean
| rm /usr/include; mv /usr/include.hold /usr/include
|
| this is *NOT* a clean solution :-)
If you want to change things on a port by port basis, you can:
1) use poudriere to build you a jail with a patch you provide, and build
ports with poudriere testport or poudriere bulk.
2) on each port's directory, you create a Makefile.local and put your
things in it.
3) in /etc/make.conf you use some kind of construct like:
.if ${.CURDIR:M*editors/vim}
FOO=bar
.endif
--
Mathieu Arnold
[-- Attachment #2 --]
-----BEGIN PGP SIGNATURE-----
Version: GnuPG v1
iQJ8BAEBCgBmBQJXGdC9XxSAAAAAAC4AKGlzc3Vlci1mcHJAbm90YXRpb25zLm9w
ZW5wZ3AuZmlmdGhob3JzZW1hbi5uZXQzQUI2OTc4OUQyRUQxMjEwNjQ0MEJBNUIz
QTQ1MTZGMzUxODNDRTQ4AAoJEDpFFvNRg85IEY4P/2lUUxdKnUybA6ipRndDsC/E
d5YsulCExHPkAJuMSEk4NbdCUyVlNZI5zjFPIgn9nqKYPFzbMBEhFa8M+bkcl/Ax
QuySi5k971MdLYeV7VCBDrrCAzvxkHKP+CpL6fa2OHeBSXkmB3NORdGHVFLoyGv8
E0bUBa9nzrGzfimORXSmieBUEPbrEU8nLOsKi4i8Nj2Ox36kwFaumIZQQQxcmRw1
mArvpliEY7Tb09lApBDdCvmA9BSrK5Qv0cVmHsIzePhhlIwZMRmvWOkaVqoHupbz
wsj5fWwjBSRwmCiKAKlK+6r6kCuaiEj/0GASOg7pk7qhObleI5NeKdQ0uPyiIsmE
WckE1fPiPW4F6dijPi+3kn2lZio0jPTf0WdsRksxUBrDgzS5k3U64zWoJFAQc7du
QV2uS4vAUlXFhkO3uyE/0T+f2qoBJqySxrcD5CdShmwkbxwadHRf5GMfN7DpEUk1
TDGJu2m2tsEP27qMLiYteGqwfzu1G07nEE6WpiJ4ogrilr4gzFgz6joWlKoDpgV/
wII1lyAqWiQcoX8s15utWRHpxB4wNP37ca88adauwEmjrzEBgwGG/+MZBzKqcq0I
AfvQljEIZ4Jq8SACBPd80P3R+yODloCDalnIDZJEx05QvRsJE6Moa3+3WOBKeohE
CAOZ3diIkoD0wv4GsXuH
=vDXW
-----END PGP SIGNATURE-----
home |
help
Want to link to this message? Use this
URL: <https://mail-archive.FreeBSD.org/cgi/mid.cgi?74A87D9160FCA7315CE3B2A8>
