Building shared libraries on Cygwin requires telling libtool which libraries
do not contain undefined symbols at link-time, by passing the -no-undefined
command on the link line. The patch below accomplishes that, but does so by
hardcoding knowledge about the libraries into gen_make.py. To do this
properly, we need a new option in build.conf. So, my question is: what to
call this? I suggest 'undefined-symbols', defaulting to 'no', and then we
just need to add "undefined-symbols = yes" to [libsvn_test].
Max.
Index: build/generator/gen_make.py
===================================================================
--- build/generator/gen_make.py (revision 9232)
+++ build/generator/gen_make.py (working copy)
@@ -109,7 +109,7 @@
'%s_DEPS = %s %s\n'
'%s_OBJECTS = %s\n'
'%s: $(%s_DEPS)\n'
- '\tcd %s && %s -o %s $(%s_OBJECTS) %s $(LIBS)\n\n'
+ '\tcd %s && %s -o %s %s $(%s_OBJECTS) %s $(LIBS)\n\n'
% (targ_varname, target_ob.add_deps, string.join(objects + deps),
targ_varname, objnames,
@@ -117,6 +117,8 @@
target_ob.filename, targ_varname,
path, target_ob.link_cmd,
os.path.basename(target_ob.filename),
+ (isinstance(target_ob, gen_base.TargetLib) and not
path.startswith('subversion/tests')) \
+ and "-no-undefined" or "",
targ_varname, string.join(gen_base.unique(libs)))
)
---------------------------------------------------------------------
To unsubscribe, e-mail: dev-unsubscribe@subversion.tigris.org
For additional commands, e-mail: dev-help@subversion.tigris.org
Received on Tue Mar 30 13:26:18 2004