diff options
Diffstat (limited to 'bin/G-FSUAE/acinclude.m4')
-rw-r--r-- | bin/G-FSUAE/acinclude.m4 | 153 |
1 files changed, 153 insertions, 0 deletions
diff --git a/bin/G-FSUAE/acinclude.m4 b/bin/G-FSUAE/acinclude.m4 new file mode 100644 index 0000000..fdff6b4 --- /dev/null +++ b/bin/G-FSUAE/acinclude.m4 @@ -0,0 +1,153 @@ +####################################################################################### +## +## GB_FIND() macro is part of gambas3 project +## by Benoit Minisini +## others are from me (Laurent Carlier) +## +####################################################################################### + +## --------------------------------------------------------------------------- +## GB_INIT_PROJECT +## Initialization and checking for gambas things +## +## $1 = gambas3 project to build +## --------------------------------------------------------------------------- + +AC_DEFUN([GB_INIT_PROJECT], +[ + if !(test -e $1/.project); then + AC_MSG_ERROR(Cannot find .project file for $1 !) + fi + + ##AM_INIT_AUTOMAKE($1, `cat $1/.project | grep "^Version=" | sed s/"Version="//g`) + AM_INIT_AUTOMAKE($1, 0.0.39) + + ## List of needed components + COMPONENTS=`cat $1/.project | grep "^Component=" | sed s/"Component="//g` + + ## Check if the project is a component + COMPONENT_build=`cat $1/.project | grep "^MakeComponent=" | sed s/"MakeComponent="//g` + AC_SUBST(COMPONENT_build) + + AC_MSG_CHECKING(for gambas3 binaries) + GAMBAS_path=`gbx3 -e system.path`/bin + if test "$?" != "0"; then + AC_MSG_RESULT(No) + AC_MSG_ERROR(Failed to find gambas3 utilities, check your gambas3 installation !) + else + AC_MSG_RESULT(Ok) + AC_SUBST(GAMBAS_path) + fi + + ## Find component components path + AC_MSG_CHECKING(for gambas3 components path) + GBLIBRARY_path=`gbx3 -e component.path` + if test "$?" != "0"; then + AC_MSG_RESULT(No) + AC_MSG_ERROR(Failed to find gambas3 library path !) + else + AC_MSG_RESULT(Ok) + AC_SUBST(GBLIBRARY_path) + fi + + GBINFO_path=`echo $GBLIBRARY_path | sed s/"\/lib\/gambas3"/"\/share\/gambas3\/info"/` + AC_SUBST(GBINFO_path) + + GBCONTROL_path=`echo $GBLIBRARY_path | sed s/"\/lib\/gambas3"/"\/share\/gambas3\/control"/` + AC_SUBST(GBCONTROL_path) + + GBHOME_path=`gbx3 -e user.home`/.local/lib/gambas3 + + for comp in $COMPONENTS; do + if test "$comp" = "$1"; then continue; fi + AC_MSG_CHECKING(for $comp component) + GB_FIND(${comp}.component, $GBLIBRARY_path $GBHOME_path, ./) + if test "$gb_val" = "no"; then + AC_MSG_RESULT(No) + AC_MSG_ERROR(Failed to find $comp component !) + else + AC_MSG_RESULT(Ok) + fi + done + + +]) + +## --------------------------------------------------------------------------- +## GB_FIND +## Find files in directories +## +## $1 = Files to search +## $2 = Directories +## $3 = Sub-directories patterns +## +## Returns a path list in $gb_val +## --------------------------------------------------------------------------- + +AC_DEFUN([GB_FIND], +[ +dnl echo "Searching $1, $2, $3" +gb_val="" +gb_save=`pwd` +gb_file_list="$1" + +for gb_main_dir in $2; do + if test -d $gb_main_dir; then + cd $gb_main_dir + for gb_search_dir in $3; do + for gb_dir in $gb_search_dir/ $gb_search_dir/*/ $gb_search_dir/*/*/; do + + gb_new_file_list="" + gb_find_dir="" + + for gb_file in $gb_file_list; do + + gb_find=no + if test -r "$gb_main_dir/$gb_dir/$gb_file" || test -d "$gb_main_dir/$gb_dir/$gb_file"; then + + ifelse($4,[], + + gb_find=yes, + + for gb_test in $4; do + gb_output=`ls -la $gb_main_dir/$gb_dir/$gb_file | grep "$gb_test"` + if test "x$gb_output" != "x"; then + gb_find=yes + fi + done + ) + + fi + + if test "$gb_find" = "yes"; then + if test "x$gb_find_dir" = "x"; then + if test "x$gb_val" = "x"; then + gb_val="$gb_main_dir/$gb_dir" + else + gb_val="$gb_val $gb_main_dir/$gb_dir" + fi + fi + gb_find_dir=yes + else + gb_new_file_list="$gb_new_file_list $gb_file" + fi + + done + + gb_file_list=$gb_new_file_list + + if test "x$gb_file_list" = "x " || test "x$gb_file_list" = "x"; then + break 3 + fi + + done + done + fi +done + +if test "x$gb_file_list" != "x " && test "x$gb_file_list" != "x"; then + gb_val=no +fi + +cd $gb_save +]) |