skalibs
Software
www.skarnet.org

Dan Kegel's hints on making sysdeps files for skalibs cross-compilation

Here is what he said (edited for typos) from his experience. I commented some points.

    If your target is an embedded system with a shell and normal Unix
    utilities, but no make and no compiler, you may still be able to run
    parts of the configuration scripts on the target system, and combine
    their output with one of the preconfigured sysdeps that is a close match.

    You should read and understand the configuration scripts.  One
    way to get a handle on them is to add 'set -x' to the top of
    all the scripts in skalibs

(In the package directory.)

    then configure on your workstation,
    save the log, and look through it (or use it as a reference).
    This will show you the sequence in which the scripts are run,
    and expose steps that might not have been obvious by inspection.

    The file sysdeps is created by src/sysdeps/Makefile like this:
         cat systype compile load socket.lib util.lib > sysdeps
         grep -h sysdep: sysdeps.h >> sysdeps

    That first file, systype, is generated by src/systype/find-systype.sh,
    which can be transferred by itself to the target and run standalone on
    non-x86 systems.

This is not completely true: in some cases, find-systype.sh depends on bootcompile and bootload, which are generated exactly as compile and load are. Nevertheless, the information is not really vital, so you may perform as suggested without losing too much accuracy.

    The second file, compile, is generated by src/sys/Makefile,
    it contains the first line of your conf-cc followed by -c "$1"
    (followed by a call to strip on some operating systems, but that can
    be omitted).

Update: starting with 0.27, object files are not stripped. conf-stripbins and conf-striplibs are used in building the load and makelib respectively, to strip executables or libraries at link time / archive time; but you can safely have blank conf-stripbins and conf-striplibs files, and ignore stripping completely.

    The third file, load, is generated by src/sys/print-ld.sh, which
    can safely be run on the development system; it doesn't need to be
    transferred. It reads your conf-ld file, and generates the line
    skalibs actually uses to link programs.

    The fourth and fifth files, socket.lib and util.lib, can be left empty
    or unchanged until you notice your programs need -lutil or something
    like that to link :-)

    The last file, sysdeps.h, you should probably copy from a preconfigured
    sysdeps directory, and edit by hand.  Obvious entries to change might
    be HASLITTLE_ENDIAN and HASBIG_ENDIAN.

    Once you've done all that, concatenate them to form sysdeps as
    src/sysdeps/Makefile would have done.

Thank you for writing documentation in my place, Dan. :-)