This is the mail archive of the cygwin mailing list for the Cygwin project.


Index Nav: [Date Index] [Subject Index] [Author Index] [Thread Index]
Message Nav: [Date Prev] [Date Next] [Thread Prev] [Thread Next]
Other format: [Raw text]

Re: Fixing the state of C++ in Cygwin


Dave Korn wrote:
The bash script that does the build will not even run due an error with
an extra "&& )" into the install2 option. There is also a problem with a
libstdc++ Makefile that might be caused by an error in bash, itself.

This sounds like an error in your configure arguments getting transcribed into the generated makefiles to me. It's not an extra '&& )', it's something missing between the '&&' and the ')' that's the real problem, and that probably happened because a shell variable used to generate the output from that stage of configure ended up being empty because of a failure of a pattern-match earlier on because of a mis-spelt option. (Well, for example.) Configure scripts aren't terribly robust against syntax issues and metacharacters, let's just hope nobody ever invents a target triplet with backtick-rm-dash-rf-star-backtick in it![*]

No, Dave, he's talking about a problem in the cygwin build script for gcc, which is derived from the generic-build-script. It has a syntax error that became exposed when /bin/sh was switched from ash to bash. It should just be fixed by editing the script. End of problem.


The reason why the source files have not been patched already
is bothersome in itself.

Bothersome? No way. I WANT to know what all the official cygwin maintainer had to do to get the code to compile and work properly on cygwin -- rather than having to download the "cygwin patched source" and the "pristine original source" and then doing a diff. This is especially true when the cygwin maintainer had to do a autotools update, and the blindly-generated diff contains a lot of autogenerated stuff rather than just the important bits.


I do not have a clue whether a particular patch
should be reversed or not before being applied, in ada, for example. I
just accepted the default and hoped for the best.

You probably shouldn't be patching anything at all. Gcc should build for cygwin OOTB; there are cygwin-specific patches that add things like -mno-cygwin, but the basic compiler should be fine as it stands.

Oh, sure, that'll work. Except, you know, some of those patches are kind of important: like allowing your C++ code to throw exceptions in DLLs which can then be caught by your application. etc.etc.


The whole point of the cygwin packaging system is that SUPPOSEDLY, if you use the packaged script, you can rebuild the package exactly as the official distributed one was built.



--
Unsubscribe info:      http://cygwin.com/ml/#unsubscribe-simple
Problem reports:       http://cygwin.com/problems.html
Documentation:         http://cygwin.com/docs.html
FAQ:                   http://cygwin.com/faq/


Index Nav: [Date Index] [Subject Index] [Author Index] [Thread Index]
Message Nav: [Date Prev] [Date Next] [Thread Prev] [Thread Next]