FAQ Search Today's Posts Mark Forums Read
» Video Reviews

» Linux Archive

Linux-archive is a website aiming to archive linux email lists and to make them easily accessible for linux users/developers.


» Sponsor

» Partners

» Sponsor

Go Back   Linux Archive > Gentoo > Gentoo Development

 
 
LinkBack Thread Tools
 
Old 02-24-2010, 07:27 PM
ChIIph
 
Default Changes to flag-o-matic's _filter-var

Hello everyone,

Here are some minor changes I'd like to propose to flag-o-matic's
_filter-var() to work properly with LDFLAGS.
Without this, things like "-Wl,-O1,--as-needed" won't be affected by any
kind of filter since there are no spaces to separate each flag.

I don't know of any better way to do this, but here's a patch that works
just fine.

Regards,
Tomas
--- /usr/portage/eclass/flag-o-matic.eclass.old 2010-02-17 16:36:55.000000000 -0300
+++ /usr/portage/eclass/flag-o-matic.eclass 2010-02-24 17:16:30.000000000 -0300
@@ -96,14 +96,20 @@
VAR=$1
shift
eval VAL=${${VAR}}
- for f in ${VAL}; do
- for x in "$@"; do
+ for f in ${VAL//,/ }; do
+ for x in ${@//,/ }; do
# Note this should work with globs like -O*
[[ ${f} == ${x} ]] && continue 2
done
eval new[${#new[@]}]=${f}
done
+
eval export ${VAR}=${new[*]}
+
+ if [[ "${VAR}" == "LDFLAGS" ]]; then
+ eval VAL=${${VAR}}
+ eval export ${VAR}=${VAL// /,}
+ fi
}

# @FUNCTION: filter-flags
 
Old 02-24-2010, 09:49 PM
Duncan
 
Default Changes to flag-o-matic's _filter-var

ChIIph posted on Wed, 24 Feb 2010 17:27:21 -0300 as excerpted:

> Here are some minor changes I'd like to propose to flag-o-matic's
> _filter-var() to work properly with LDFLAGS. Without this, things like
> "-Wl,-O1,--as-needed" won't be affected by any kind of filter since
> there are no spaces to separate each flag.

As one of the guys with such an LDFLAGS set, thanks. =:^)

--
Duncan - List replies preferred. No HTML msgs.
"Every nonfree program has a lord, a master --
and if you use the program, he is your master." Richard Stallman
 
Old 03-07-2010, 01:27 AM
Mike Frysinger
 
Default Changes to flag-o-matic's _filter-var

On Wednesday 24 February 2010 15:27:21 ChIIph wrote:
> Here are some minor changes I'd like to propose to flag-o-matic's
> _filter-var() to work properly with LDFLAGS.
> Without this, things like "-Wl,-O1,--as-needed" won't be affected by any
> kind of filter since there are no spaces to separate each flag.
>
> I don't know of any better way to do this, but here's a patch that works
> just fine.

the func is used by other code where you dont want to screw with commas.
plus, there are a few other ways to trick the system.

my opinion is still:
- bypassing the system is sometimes useful
- use separate -Wl flags and things just work

so thanks, but no thanks
-mike
 
Old 03-07-2010, 04:50 PM
Mike Frysinger
 
Default Changes to flag-o-matic's _filter-var

On Sunday 07 March 2010 12:54:34 ChIIph wrote:
> On 03/06/10 23:27, Mike Frysinger wrote:
> > On Wednesday 24 February 2010 15:27:21 ChIIph wrote:
> >> Here are some minor changes I'd like to propose to flag-o-matic's
> >> _filter-var() to work properly with LDFLAGS.
> >> Without this, things like "-Wl,-O1,--as-needed" won't be affected by any
> >> kind of filter since there are no spaces to separate each flag.
> >>
> >> I don't know of any better way to do this, but here's a patch that works
> >> just fine.
> >
> > the func is used by other code where you dont want to screw with commas.
>
> The commas are only added when there's LDFLAGS being changed.

you missed my point. read the whole eclass -- this function isnt only used on
LDFLAGS. your patch opens the door to incorrectly split/mangle other
variables.

> > plus, there are a few other ways to trick the system.
> >
> > my opinion is still:
> > - bypassing the system is sometimes useful
> > - use separate -Wl flags and things just work
>
> Ok, but in the default profiles LDFLAGS are separated with commas, so
> for that second opinion to be possible, I think that should be changed.

i really have no idea what you're talking about. no default profile uses the
multi-linker flag form.

> On the other hand, a lot of us use comma separated flags, so for all of
> us filter-ldflags doesn't work, and what I've modify doesn't mess with
> any of all the other function (or at least I haven't found the case in
> which it does).

then change your LDFLAGS

> Anyway, filter-ldflags doesn't work like it is right now, I'm not saying
> use _my_ code, but use whatever you think it's best to fix this.

i dont see any bug so you're going to have to be more specific
-mike
 
Old 03-07-2010, 04:54 PM
ChIIph
 
Default Changes to flag-o-matic's _filter-var

On 03/06/10 23:27, Mike Frysinger wrote:
> On Wednesday 24 February 2010 15:27:21 ChIIph wrote:
>
>> Here are some minor changes I'd like to propose to flag-o-matic's
>> _filter-var() to work properly with LDFLAGS.
>> Without this, things like "-Wl,-O1,--as-needed" won't be affected by any
>> kind of filter since there are no spaces to separate each flag.
>>
>> I don't know of any better way to do this, but here's a patch that works
>> just fine.
>>
> the func is used by other code where you dont want to screw with commas.
>
The commas are only added when there's LDFLAGS being changed.
> plus, there are a few other ways to trick the system.
>
> my opinion is still:
> - bypassing the system is sometimes useful
> - use separate -Wl flags and things just work
>
Ok, but in the default profiles LDFLAGS are separated with commas, so
for that second opinion to be possible, I think that should be changed.

On the other hand, a lot of us use comma separated flags, so for all of
us filter-ldflags doesn't work, and what I've modify doesn't mess with
any of all the other function (or at least I haven't found the case in
which it does).
> so thanks, but no thanks
> -mike
>
Anyway, filter-ldflags doesn't work like it is right now, I'm not saying
use _my_ code, but use whatever you think it's best to fix this.

(Please, don't CC me, I'm already in gentoo-dev list)

Cheers,
Tomas
 
Old 03-07-2010, 05:16 PM
Mike Frysinger
 
Default Changes to flag-o-matic's _filter-var

On Sunday 07 March 2010 13:59:25 ChIIph wrote:
> On 03/07/10 14:50, Mike Frysinger wrote:
> > On Sunday 07 March 2010 12:54:34 ChIIph wrote:
> >> [snip]
> >> The commas are only added when there's LDFLAGS being changed.
> >
> > you missed my point. read the whole eclass -- this function isnt only
> > used on LDFLAGS. your patch opens the door to incorrectly split/mangle
> > other variables.
>
> I know, what I wanted to say is that I've tested those changes with more
> than filter-ldflags funtion, and I proposed it here because it works in
> every case.

no, it really doesnt. it took me two seconds to put together an example where
your change corrupted CFLAGS. an unlikely value, but a valid value
nonetheless, which means your proposal is unacceptable on that merit alone.

> >>> plus, there are a few other ways to trick the system.
> >>>
> >>> my opinion is still:
> >>> - bypassing the system is sometimes useful
> >>> - use separate -Wl flags and things just work
> >>
> >> Ok, but in the default profiles LDFLAGS are separated with commas, so
> >> for that second opinion to be possible, I think that should be changed.
> >
> > i really have no idea what you're talking about. no default profile uses
> > the multi-linker flag form.
>
> grep -nR LDFLAGS /usr/portage/profiles/*
> (...)
> /usr/portage/profiles/default/linux/make.defaults:53:LDFLAGS="-Wl,-O1"
> (...)

how is that relevant ? people use `filter-flags -Wl,-O1`, they dont use
`filter-flags -O1`. this is not multiple linker flags combined into one -Wl.
-mike
 
Old 03-07-2010, 05:59 PM
ChIIph
 
Default Changes to flag-o-matic's _filter-var

On 03/07/10 14:50, Mike Frysinger wrote:
> On Sunday 07 March 2010 12:54:34 ChIIph wrote:
>
>> [snip]
>> The commas are only added when there's LDFLAGS being changed.
>>
> you missed my point. read the whole eclass -- this function isnt only used on
> LDFLAGS. your patch opens the door to incorrectly split/mangle other
> variables.
>
I know, what I wanted to say is that I've tested those changes with more
than filter-ldflags funtion, and I proposed it here because it works in
every case.
>
>>> plus, there are a few other ways to trick the system.
>>>
>>> my opinion is still:
>>> - bypassing the system is sometimes useful
>>> - use separate -Wl flags and things just work
>>>
>> Ok, but in the default profiles LDFLAGS are separated with commas, so
>> for that second opinion to be possible, I think that should be changed.
>>
> i really have no idea what you're talking about. no default profile uses the
> multi-linker flag form.
>
grep -nR LDFLAGS /usr/portage/profiles/*
(...)
/usr/portage/profiles/default/linux/make.defaults:53:LDFLAGS="-Wl,-O1"
(...)
>
>> On the other hand, a lot of us use comma separated flags, so for all of
>> us filter-ldflags doesn't work, and what I've modify doesn't mess with
>> any of all the other function (or at least I haven't found the case in
>> which it does).
>>
> then change your LDFLAGS
>
Yes, of course, but the not-comma separated form of LDFLAGS isn't the
most commonly used one. So it's not that I'm a case of rebelty
>
>> Anyway, filter-ldflags doesn't work like it is right now, I'm not saying
>> use _my_ code, but use whatever you think it's best to fix this.
>>
> i dont see any bug so you're going to have to be more specific
> -mike
>
 

Thread Tools




All times are GMT. The time now is 11:40 PM.

VBulletin, Copyright ©2000 - 2014, Jelsoft Enterprises Ltd.
Content Relevant URLs by vBSEO ©2007, Crawlability, Inc.
Copyright 2007 - 2008, www.linux-archive.org