Skip to content
  • Paulo Cesar Pereira de Andrade's avatar
    Use libtool convenience libraries and better "symbol" table. · b1dac41f
    Paulo Cesar Pereira de Andrade authored
      All .a libraries were converted to .la, and instead of linking the
    Xorg binary with a mix of .a and .la, and adding some libraries more
    then once in the command line, etc, now it generates a single libxorg.la
    from all the required convenience libraries, and links with a dummy
    xorg.c (that should usually be the file with the main function...).
    This removes the requirement of some things like libosandcommon and
    libinit, that existed to circumvent problems when linking multiple
    .a and .la in the final Xorg binary.
    
      The "symbol table" is now generated dynamically, by a shell script,
    with an embedded gawk parser that parses cpp output. The new file
    sdksyms.sh is generated by hand by analyzing all Makefile.am's and
    making it create a sdksyms.c file, that includes all sdk headers that
    will add symbols for the Xorg binary. Module headers aren't read, and
    a in 2 files it was required to add a "<hash>ifndef XorgLoader" around
    declarations shared between the Xorg binary and libextmod. A few
    other changes were added to other sdk headers, like preventing
    multiple inclusion, or including other headers to satisfy dependencies.
    
      This should be a lot more portable, and better (hopefully properly)
    using libtool to generate convenience libraries.
    b1dac41f