mingw-cross-env-list
[Top][All Lists]
Advanced

[Date Prev][Date Next][Thread Prev][Thread Next][Date Index][Thread Index]

Re: [Mingw-cross-env-list] gSoap on FreeBSD and OSX


From: Tony Theodore
Subject: Re: [Mingw-cross-env-list] gSoap on FreeBSD and OSX
Date: Wed, 27 Jan 2010 00:40:53 +1100

2010/1/26 Mark Brand <address@hidden>:
>
>> FreeBSD requires bison (pkg_add -r bison) to build gsoap successfully.
>> The readme indicates yacc should work also, but I couldn't figure it
>> out, and bison isn't an unreasonable pre-requisite.
>>
>
> Volker ran into the dependencies on flex and yacc/bison and pointed out
> that these are not requirements for mingw-cross-env. The generated
> files, sources for soapcpp2, don't come with the tarball. As I suggested
> to Volker, we could supply the sources with a patch if we don't want to
> require the additional tools. It's about 256K of source code, which is
> why I didn't post the patch here on the list.

That makes sense now, I was wondering about the big autogen patch, and
why you didn't just add the auto* commands to the makefile or patch
makemake. I guess all these tools (GNU autotools, flex/yacc/bison)
could be classed as code generators, and if they aren't requirements,
the source needs to be supplied.

For the sake of discussion, where do we draw the line on what's a
requirement? The current list is reasonable on any system; but you'd
probably expect autotools and the like to be on any development
system, and not a burden to install if not. On the other hand, fewer
requirements leads to greater stability, and we could build native
autotools, scons (including python), cmake etc. to make a more
self-contained environment.


>> On OSX, the build fails with a "Malformed archive" error (log
>> attached). This seems to be caused by using the native ar instead of
>> the cross-ar. There's no reference to ar in configure (no
>> ac_cv_prog_ar or AR) so the following change:
>>
>> diff -r 14708edd30e9 src/gsoap.mk
>> --- a/src/gsoap.mk    Sat Jan 23 22:24:00 2010 +0100
>> +++ b/src/gsoap.mk    Tue Jan 26 16:47:17 2010 +1100
>> @@ -55,7 +55,7 @@
>>      ln -s '$(PREFIX)/bin/$(TARGET)-soapcpp2' '$(1)'/gsoap/src/soapcpp2
>>
>>      # Parallel bulds can fail
>> -    $(MAKE) -C '$(1)' -j 1
>> +    $(MAKE) -C '$(1)' -j 1 AR=$(TARGET)-ar
>>
>>      $(MAKE) -C '$(1)' -j 1 install
>>      # Apparently there is a tradition of compiling gsoap source files
>> into applications.
>>
>> allows the build to complete, but I'm not sure why this is needed when
>> FreeBSD (and Ubuntu, but I can't check the log right now) seem to have
>> no problems using the native ar.
>>
>> Any thoughts?
>>
>
> I have to admit not noticing that plain ar was used, but it seems to
> have worked for me on opensuse 11.2.  With i686-pc-mingw32-ar introduced
> by your patch, it still works.
>
> -Mark

Thinking about it some more, I think it's just the way Apple's tools
behave differently. Ubuntu also has no problem with the plain ar;
though I'm guessing that the i686-pc-mingw32-ar should be used at this
point, and maybe a report upstream to include checks for ar in the
configure scripts.

Tony




reply via email to

[Prev in Thread] Current Thread [Next in Thread]