tlib does not like hyphens (minus signs) in file names. Standard makefile.b32 fails to add non-ascii.obj asyn-ares.obj and asyn-thread.obj to the library.
into the tlib bit of the makefile but it's not nice.
Previously I tried renaming the three offending files (hyphens to underscores) and changing all (and I do mean all) references to them in all possible files but, curiously, make was still looking for the hyphenated names. Was this something to do with objnames.inc?
I'm using Borland bcc32 5.5.1 and tlib 4.5. I'm not sure whether there is a later tlib. I downloaded the whole set together from somewhere years ago.
I hope this is helpful.
There were a couple of other small issues which I fixed up. The makefile refused to make the dll but I didn't want it anyway. I ended up with, I believe, a good libcurl.lib. It's certainly doing the job I want. I'll be happy to make it available to other strugglers - just ask.
Regards
Ian
Last edit: Daniel Stenberg 2013-06-03
If you would like to refer to this comment somewhere else in this project, copy and paste the following link:
Sorry, but fixing the borland makefile is beyond what I can do. I don't develop on windows at all. Unless someone steps up to fix this within a short while, I'll close this bug and add it to KNOWN_BUGS.
For the record, it seems commit 7de2f9271c6 added the asyn*.c file names with dashes, so the build has thus been this broken since January 2011...
If you would like to refer to this comment somewhere else in this project, copy and paste the following link:
What's the solution to this? Does tlib require that the names be quoted in some way or something?
This stackoverflow answer says it works with recent tlibs if the path is quoted: http://stackoverflow.com/a/7435362/93747 . Is it true?
Dear Daniel,
Super library - by the way. I have some idea of what's involved in coping with the bizarre stuff that can come at you from an HTTP server.
I don't know what those stack overflow guys are talking about? It's nothing to do with absolute or relative paths.
borland tlib uses plus and minus signs to add and remove files from a library.
tlib libcurl.lib +asyn-thread.obj
is seen by tlib as an instruction to add a file called 'asyn' and to remove a file called thread.obj.
tlib libcurl.lib "asyn-thread.obj"
might achieve what you want it to achieve - who knows? The issue concerns the makefile.
I fixed up makefile.b32 by adding the lines
copy BCC_objs\non-ascii.obj BCC_objs\non_ascii.obj
$(LIB) $(LIBFLAGS) $@ +BCC_objs\non_ascii.obj
copy BCC_objs\asyn-ares.obj BCC_objs\asyn_ares.obj
$(LIB) $(LIBFLAGS) $@ +BCC_objs\asyn_ares.obj
copy BCC_objs\asyn-thread.obj BCC_objs\asyn_thread.obj
$(LIB) $(LIBFLAGS) $@ +BCC_objs\asyn_thread.obj
into the tlib bit of the makefile but it's not nice.
Previously I tried renaming the three offending files (hyphens to underscores) and changing all (and I do mean all) references to them in all possible files but, curiously, make was still looking for the hyphenated names. Was this something to do with objnames.inc?
I'm using Borland bcc32 5.5.1 and tlib 4.5. I'm not sure whether there is a later tlib. I downloaded the whole set together from somewhere years ago.
I hope this is helpful.
There were a couple of other small issues which I fixed up. The makefile refused to make the dll but I didn't want it anyway. I ended up with, I believe, a good libcurl.lib. It's certainly doing the job I want. I'll be happy to make it available to other strugglers - just ask.
Regards
Ian
Last edit: Daniel Stenberg 2013-06-03
Sorry, but what's your suggested solution to this then if quoting the file names in the makefile is not enough?
Dear Daniel,
I wasn't presuming to offer a solution but since you ask
I have tested tlib and quotes round hyphenated filenames will solve the problem.
If you can encourage the makefile to cause
tlib /C /P32 libcurl.lib +"BCC_objs\somefilename.obj"
for each object file in the list then that would be great.
Regards
Ian
Last edit: Daniel Stenberg 2013-06-03
Sorry, but fixing the borland makefile is beyond what I can do. I don't develop on windows at all. Unless someone steps up to fix this within a short while, I'll close this bug and add it to KNOWN_BUGS.
For the record, it seems commit 7de2f9271c6 added the asyn*.c file names with dashes, so the build has thus been this broken since January 2011...
Now added as KNOWN_BUG #82