On 10 Jan 2014, at 09:43, Richard Frith-Macdonald 
<richardfrithmacdon...@gmail.com> wrote:

> 
> On 10 Jan 2014, at 08:26, Richard Frith-Macdonald 
> <richardfrithmacdon...@gmail.com> wrote:
> 
>> 
>> On 9 Jan 2014, at 19:49, Markus Hitter <m...@jump-ing.de> wrote:
>> 
>>> Am 08.01.2014 13:11, schrieb Niels Grewe:
>>>> In fact it’s very, very easy to switch the documentation to using the
>>>> present (not yet installed) configuration: You just have to set
>>>> GNUSTEP_MAKEFILES=../ at the beginning of Documentation/GNUmakefile.
>>> 
>>> After evaluating this more closely, it's indeed very good:
>>> 
>>> - First time I see HTML documentation installed.
>>> 
>>> - .info documentation is installed again.
>>> 
>>> - Usage of DESTDIR works fine.
>>> 
>>> - Unless the documentation installation process is changed drastically,
>>> makefile fragments in the source dir always share their hierarchy
>>> with the installed ones. That's how documentation.make works.
>>> 
>>> - Cleaning works fine.
>>> 
>>> - Build time for the whole thing almost cut in half (one run of
>>> configure instead of three).
>>> 
>>> - About 40 lines of complicated code removed.
>>> 
>>> The only minor problem not solved is, "make -C Documentation distclean"
>>> _without_ configuring previously errors out (instead of doing
>>> nonsense before).
>>> 
>>> Patch attached. It adresses Richards concerns in comments.
>> 
>> Hi Markus ...  When Niels suggested setting GNUSTEP_MAKEFILES at the 
>> 'beginning' of the makefile,   I suspect he meant that, for your special 
>> case, you should set it in your environment before running the makefile.
>> 
>> However,  I tried your patch as follows:
>> 
>> $ cd Documentation
>> $ make
>> ../common.make:61: ../config-noarch.make: No such file or directory
>> /bin/sh: ../config.guess: No such file or directory
>> /bin/sh: ../config.sub: No such file or directory
>> /bin/sh: ../cpu.sh: No such file or directory
>> /bin/sh: ../vendor.sh: No such file or directory
>> /bin/sh: ../os.sh: No such file or directory
>> /bin/sh: ../clean_cpu.sh: No such file or directory
>> /bin/sh: ../clean_vendor.sh: No such file or directory
>> /bin/sh: ../clean_os.sh: No such file or directory
>> ../common.make:100: .././config.make: No such file or directory
>> ../common.make:148: ../filesystem.make: No such file or directory
>> ../common.make:857: WARNING: Your PATH may not be set up correctly !
>> ../common.make:858: Please try again after adding "" to your path
>> make: *** No rule to make target `../filesystem.make'.  Stop.
>> 
>> Obviously it doesn't work because gnustep-make hasn't been configured yet.
>> You could presumably work around that issue by checking to see if the 
>> configuration has been completed successfuly in order to decide whether to 
>> define GNUSTEP_MAKEFILES tyo be ../ or not.
>> 
>> Alternatively, how about implementing Sebastien's good suggestion:
>> 
>>> For that matter, if the gnustep-make package would support
>>> generating and installing the documentation in one go, i.e.
>>> ./configure
>>> make
>>> make install       (which would go for me on OpenBSD into a fake 
>>> environment)
>>> make install-docs  (that would use the values from configure, and also 
>>> install in that fake environment)
>>> 
>>> or an "install-all" (installing the makefiles and the docs with one command)
>> 
>> That seems a great extension which won't breask any existing functionality.
> 
> Actually, it looks like I'll have some time today, so I'll have a go at 
> implementing both changes.

And indeed, it turns out to be quite easy to:
a. fix that patch to continue to work for the vast majority of newbies who try 
to make without configure and
b. implement Sebastien's suggestions for convenient build targets for packagers

I comitted those, so you can try them out.
_______________________________________________
Gnustep-dev mailing list
Gnustep-dev@gnu.org
https://lists.gnu.org/mailman/listinfo/gnustep-dev

Reply via email to