Skip to content
  • Vivien Kraus's avatar
    Remove the "safe" target · 9c592dcc
    Vivien Kraus authored
    There are some parts of the build system that are recursive.  For one,
    the gnulib layer and the gettext build infrastructure.  However, we
    also need to recursively build the library to generate the binding
    code, and we need to recursively build all programs in order to get
    their =--help= output for /help2man/.
    
    For these reasons, it is impossible to go without a recursive build
    system.
    
    This poses an unsolved problem.  Recursive builds and multi-process
    builds do not go well together, because each recursive branch does not
    know what the other branch is touching.  So I had created a list of
    things to get right in that order.  Each item of that list could be
    built with multiple jobs, but the steps had to be taken in order.  I
    had named this list "safe", because it ensured that there would be no
    recursive call (except the safe target itself that would spawn all
    tasks).
    
    However, this is a little troubling because bootstrapping the project
    with multiple jobs meant to run =autogen.sh=, then =configure=, then
    =make safe=, then =make=.
    
    I have found that Automake provides /subdirs/, which already
    implements what I was trying to do.  So there is a subdir for each
    step.
    9c592dcc