Package: emacs, ada-mode -- I have updated build.sh a bit: * if build.sh called with extra options then these options are passed to gprbuild. (to allow using more CPU's, passing other gnat options, ... without modifying the *.gpr files.) * Not using ' $GPR_PROJECT_PATH' to wisi directory, as GPR_PROJECT_PATH is used by gprbuild. (and can point to own compiled gnatcoll_xref and others) * Allow calling build.sh multiple times - first call gprclean, to clean project - not removing ' ada_lr1_parse_table.txt.gz' If you agree on these changes, can someone apply this patch to ada-mode? Thanks, Koen The patch : --- build.sh.orig 2020-04-03 11:33:25.771222460 +0000 +++ build.sh 2020-04-03 11:34:37.337921847 +0000 @@ -1,29 +1,38 @@ #!/bin/sh # Build executables for Ada mode. +# build.sh +# e.g. 'build.sh -j0' : use all available processors to compile +# 'build.sh -wn' : treat warnings as warnings. +# 'build.sh -vh' : Verbose output (high verbosity) # # See install.sh for install - +# # In December 2016, GNATCOLL changed its Xref interface. First, the # GPR was split out; and second, one of the subprogram # interfaces.changed. # + # Determine whether the split-out gnatcoll_xref.gpr is available. +# To get ada-mode compiling with gnatcoll_xref, make sure the gnatcoll directory is added to $GPR_PROJECT_PATH +# i.e. the following file should exist: $GPR_PROJECT_PATH/gnatcoll_xref.gpr echo 'with "gnatcoll_xref"; abstract project check_xref is end check_xref;' > check_xref.gpr; -gprbuild -P check_xref.gpr > /dev/null 2>&1; +gprbuild -f -P check_xref.gpr > /dev/null 2>&1; if test $? -eq 0 ; then HAVE_GNATCOLL_XREF="yes"; else HAVE_GNATCOLL_XREF="no"; fi - echo "HAVE_GNATCOLL_XREF=$HAVE_GNATCOLL_XREF" +WISI_DIR="../wisi-3.0.1" +TOP_GPR="ada_mode_wisi_parse.gpr" + gnatprep -DHAVE_GNATCOLL_XREF=$HAVE_GNATCOLL_XREF gpr_query-process_refresh.adb.gp gpr_query-process_refresh.adb # support for libadalang is still experimental gnatprep -DHAVE_GNATCOLL_XREF=$HAVE_GNATCOLL_XREF -DHAVE_LIBADALANG="no" -DELPA="yes" ada_mode_wisi_parse.gpr.gp ada_mode_wisi_parse.gpr -export GPR_PROJECT_PATH="../wisi-3.0.1" +gnatprep -DELPA="yes" $WISI_DIR/wisi.gpr.gp $WISI_DIR/wisi.gpr -gnatprep -DELPA="yes" $GPR_PROJECT_PATH/wisi.gpr.gp $GPR_PROJECT_PATH/wisi.gpr +gprclean -r -P $TOP_GPR -aP$WISI_DIR -gprbuild -p -j8 -P ada_mode_wisi_parse.gpr -gzip -d -q ada_lr1_parse_table.txt.gz +gprbuild -p -j8 -P $TOP_GPR -aP $WISI_DIR "$@" +gzip -c -d -q ada_lr1_parse_table.txt.gz >ada_lr1_parse_table.txt # end of file --- Koen Meersman Sint Lambertuslaan 85 2812 Muizen + 32 (0)15 34 66 08 + 32 (0)476 60 69 30 koen.meersman@gmail.com