httpd-dev mailing list archives

Site index · List index
Message view « Date » · « Thread »
Top « Date » · « Thread »
From Jim Jagielski <...@jaguNET.com>
Subject Re: trunk and FreeBSD 10.1
Date Fri, 24 Apr 2015 11:00:18 GMT
Thx for the confirmation and the assessment. I'll have to look
at how svn does it.

> On Apr 24, 2015, at 6:34 AM, Stefan Sperling <stsp@apache.org> wrote:
> 
> On Thu, Apr 23, 2015 at 12:28:33PM -0400, Jim Jagielski wrote:
>> I tried that, but gmake totally barfed...
> 
> I have the same issue on OpenBSD.
> 
> I think the GNU->BSD Makefile style transformation implemented by
> build/bsd_makefile is too simplistic. All it does it putting a dot in
> front of include statements: "include" -> ".include"
> It doesn't seem to handle other differences between GNU make and BSD make.
> 
> Cases such as CC_FOR_BUILD being set to an empty string:
> 
> build/config_vars.mk:CC_FOR_BUILD =
> 
> and then checked with ifdef and used if defined:
> 
> server/Makefile.in:ifdef CC_FOR_BUILD
> server/Makefile.in:     $(CC_FOR_BUILD) $(CFLAGS_FOR_BUILD) -DCROSS_COMPILE -o $
> @ $<
> 
> It's defined, but empty, so that's where the build failure comes from.
> 
> I can only build httpd trunk on OpenBSD by first disabling the BSD
> Makefile transformation logic and then using gmake:
> 
>  ./configure --disable-bsd-makefiles
>  gmake
> 
> (Also make sure to revert any local .mk changes created by prior runs
> of the bsd_makefile script -- they upset gmake.)
> 
> I don't think the current approach is a good one.
> Either write portable Makefiles, or decide on one particular implementation
> of make. The middle ground will tend to break down every now and then.
> Also, on BSD the local changes to .mk files in the working copy get in
> the way of 'svn diff' and 'svn commit'.
> 
> In the SVN project we write portable Makefiles which work with either
> implementation. This has been working out quite well.
> 
>>> On Apr 23, 2015, at 12:07 PM, Jeff Trawick <trawick@gmail.com> wrote:
>>> 
>>> On 04/23/2015 11:59 AM, Jim Jagielski wrote:
>>>> Hmmm... I am seeing some strangeness trying to get trunk to
>>>> build on FreeBSD 10.1... I get to ./server/ and then the
>>>> build dies w/
>>> 
>>> try gmake?
>>> 
>>> IIRC I had noticed that some BSD make compatibility was lost at some point...
>>>> 
>>>>   -DCROSS_COMPILE -o gen_test_char
>>>>   make[2]: exec(-DCROSS_COMPILE) failed (No such file or directory)
>>>>   *** Error code 1
>>>> 
>>>> It looks like the Makefile.in->Makefile process is causing issues.
>>>> This is what I get in the Makefile:
>>>> 
>>>> 
>>>>   .include "$(top_builddir)/build/rules.mk"
>>>>   .include "$(top_srcdir)/build/library.mk"
>>>> 
>>>>   .ifdef CC_FOR_BUILD
>>>>   gen_test_char: gen_test_char.c
>>>> 	$(CC_FOR_BUILD) $(CFLAGS_FOR_BUILD) -DCROSS_COMPILE -o $@ $<
>>>>   .else
>>>>   gen_test_char_OBJECTS = gen_test_char.lo
>>>>   gen_test_char: $(gen_test_char_OBJECTS)
>>>> 	$(LINK) $(EXTRA_LDFLAGS) $(gen_test_char_OBJECTS) $(EXTRA_LIBS)
>>>>   .endif
>>>> 
>>>> So we can see where the error is... those shell vars aren't
>>>> defined/found. But why?
>>> 


Mime
View raw message