pcb-rnd knowledge pool


How to cross-compile recent versions of pcb-rnd to windows on *nix

win32-cross-2.4.0 by Tibor 'Igor2' Palinkas on 2019-10-25

Tags: howto, cross-compile, win32, windows, exe

node source



Abstract: This howto is about compiling stable release 2.2.x, 2.3.x. and 2.4.0. These versions are from before the completion of librnd split, so this procedure does not require librnd compiled separately. New versions starting from 3.0.0 require a different procedure.

  The below manual process is the temporary solution for cross-compiling svn HEAD pcb-rnd to windows. The steps marked with * are due to bugs that will eventually be fixed. (There is another node about cross-compiling 2.1.4 )

  1. download the binary development pack of hidlib.w32 (alternatively: cross-compile it)
  2. install the hidlib.w32 pack; this document assumes it is installed under ~/w32-rnd, but it can be placed anywhere
  3. make an svn checkout of pcb-rnd from svn://repo.hu/pcb-rnd/trunk
  4. copy configure.w in trunk/scconfig/configure.w and make it executable (chmod 775 configure.w)
  5. copy crossw32.conf in trunk/scconfig/crossw32.conf
  6. edit crossw32.conf: replace the path after the equation sign in the first line to the path where hidlib.w32 got copied to; the path entered here should have /usr/local/lib under it.
  7. cd trunk/scconfig; ./configure.w
  8. * edit trunk/config.h, replace original paths with:
    #define PCB_PREFIX pcb_w32_root
    #define PCBSHAREDIR pcb_w32_sharedir
    #define PCBLIBDIR pcb_w32_libdir
    #define BINDIR pcb_w32_bindir
  9. cd trunk/src ; make all_exe

This should produce trunk/src/pcb-rnd.exe.

The whole, zippable pack is produced by pcb-rnd.w32.pack.sh : it should be copied to trunk/ and ran from there. It contains configuration at the top of the script (paths should be changed).