Re: compiling ports with --sysroot= and -isystem

2016-04-22 Thread Mathieu Arnold


+--On 22 avril 2016 11:54:21 +0800 Julian Elischer 
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

pgpPHWdTeKCQo.pgp
Description: PGP signature


Re: compiling ports with --sysroot= and -isystem

2016-04-21 Thread Julian Elischer

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 :-)





___
freebsd-ports@freebsd.org mailing list
https://lists.freebsd.org/mailman/listinfo/freebsd-ports
To unsubscribe, send any mail to "freebsd-ports-unsubscr...@freebsd.org"


Re: compiling ports with --sysroot= and -isystem

2016-04-21 Thread olli hauer
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="
...


-- 
olli
___
freebsd-ports@freebsd.org mailing list
https://lists.freebsd.org/mailman/listinfo/freebsd-ports
To unsubscribe, send any mail to "freebsd-ports-unsubscr...@freebsd.org"


compiling ports with --sysroot= and -isystem

2016-04-21 Thread Julian Elischer

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..


___
freebsd-ports@freebsd.org mailing list
https://lists.freebsd.org/mailman/listinfo/freebsd-ports
To unsubscribe, send any mail to "freebsd-ports-unsubscr...@freebsd.org"