[Top][All Lists]
[Date Prev][Date Next][Thread Prev][Thread Next][Date Index][Thread Index]
Re: gnustep-make experiment
From: |
David Ayers |
Subject: |
Re: gnustep-make experiment |
Date: |
Mon, 12 Feb 2007 20:41:47 +0100 |
User-agent: |
Mozilla Thunderbird 1.0.2 (X11/20070113) |
Nicola Pero schrieb:
>>But I actually want to clarify what I meant with the third option for
>>the configure issue... My goal is to have ./configure of GDL2 identify
>>whether libGorm is installed/usable so it can decide whether the palette
>>should be build or not.
>>
>>(The servers I deploy my GSWeb App on do not have X/AppKit/GORM but use
>>GDL2 & GSWeb... currently I need to disable building the palette
>>explicitly via configure option.)
>
>
> I agree with Matt and others that we want to have gnustep-config able to
> output compile/link flags. I have a plan in mind for that. :-)
>
> But in your case, what about some makefile variable/function that lets you
> check if a gnustep library is installed or not ?
>
> We could add to gnustep-make a
>
> GNUSTEP_FIND_LIBRARY
>
> and
>
> GNUSTEP_FIND_FRAMEWORK
>
> functions, that would return the location of a GNUstep library/framework, or
> nothing if they don't exist.
>
> Then in your GNUmakefile you could just do
>
> ifneq ($(call GNUSTEP_FIND_LIBRARY, Gorm)$(call GNUSTEP_FIND_FRAMEWORK,
> Gorm),)
> SUBPROJECTS += GormPalette
> fi
>
> to compile your GormPallette iff libGorm.so (or Gorm.framework) is installed,
> without even needing the configure step. :-)
>
> Thanks
>
>
> NB: Here is an example GNUSTEP_FIND_LIBRARY implementation for you to test
> with --
>
> GNUSTEP_FIND_LIBRARY = $(strip $(wildcard $(addsuffix $(strip $(1)).so, \
> $(GNUSTEP_SYSTEM_ROOT)/Library/Libraries/lib \
> $(GNUSTEP_LOCAL_ROOT)/Library/Libraries/lib \
> $(GNUSTEP_NETWORK_ROOT)/Library/Libraries/lib \
> $(GNUSTEP_USER_ROOT)/Library/Libraries/lib)))
>
> It would be defined inside gnustep-make though, so it will get automatically
> updated for the filesystem changes. You call it, and gnustep-make will make
> sure
> to look in the right library locations.
>
> PS: We could do this with standard variables (rather than functions), but
> functions
> have a more familiar syntax, and it looks like all GNU makes in the last 5
> years or so
> support them, so we should probably start using them.
Well I guess the approach would work but
- the variables still need to take into account the non-flattened
configuration (not sure show to do that with the variable approach
without duplicating the block) and
- this search would be executed for /every/ make invocation instead of
once during configure.
But I see that other projects that don't yet already need ./configure
for other purposes like GDL2 would profit from this approach.
Also I think the order should be according to precedence i.e.
GNUSTEP_FIND_LIBRARY = $(strip $(wildcard $(addsuffix $(strip $(1)).so, \
$(GNUSTEP_USER_ROOT)/Library/Libraries/lib \
$(GNUSTEP_LOCAL_ROOT)/Library/Libraries/lib \
$(GNUSTEP_NETWORK_ROOT)/Library/Libraries/lib \
$(GNUSTEP_SYSTEM_ROOT)/Library/Libraries/lib)))
So, do you have suggestion on how to handle the
LIBRARY_COMBO/GNUSTEP_TARGET_DIR or will it be function approach?
Cheers,
David
- Re: gnustep-make experiment, (continued)
- Re: gnustep-make experiment, Nicola Pero, 2007/02/12
- Re: gnustep-make experiment, Nicola Pero, 2007/02/12
- Re: gnustep-make experiment,
David Ayers <=
- Re: gnustep-make experiment, Nicola Pero, 2007/02/12
- Re: gnustep-make experiment, Nicola Pero, 2007/02/12
- Re: gnustep-make experiment, Nicola Pero, 2007/02/12