When building lilypond the following variables:
`scm_i_gc_admin_mutex'          SCM_INTERNAL gc.h
`scm_i_init_mutex'              SCM_INTERNAL init.h
`scm_i_locale_mutex'            SCM_INTERNAL posix.h
`scm_i_misc_mutex'              SCM_INTERNAL threads.h
`scm_i_port_table_mutex'        SCM_INTERNAL ports.h
`scm_i_port_table_room'         SCM_INTERNAL ports.h
`scm_i_port_weak_hash'          SCM_INTERNAL ports.h
`scm_i_signal_delivery_thread'  SCM_INTERNAL scmsigs.h
`scm_i_structs_to_free'         SCM_INTERNAL struct.h
`scm_i_sweep_mutex'             SCM_INTERNAL gc.h

show up as multiple defines in the link phase and keep lilypond from building. The problem is that the include files they are in are included in different .c files, so the variable definitions are in various .o files. If they are really supposed to just have internal visibility in guile libraries wouldn't it be better to not put them in include files that are installed as part of make install? I mean, you could put #ifdefs around them so that they wouldn't show up in builds of other programs like lilypond, but it seems a cleaner solution to put them in private include files that are never installed publicly, but only used in the build.

Patrick


Reply via email to