Some improvements on installation from source.

git-svn-id: svn://svn.code.sf.net/p/sc2/code/trunk@785 8092fc87-c524-0410-9efc-e669fe64eaf9
This commit is contained in:
meep-eep
2003-02-19 21:17:10 +00:00
parent ceb1cc1e56
commit 03b6d952b5
12 changed files with 35 additions and 18 deletions
+116
View File
@@ -0,0 +1,116 @@
I've made this build system as a replacement for autoconf, autoheader,
automake, and aclocal as I found them to be too limiting and too slow.
This build system is not as complete as the auto* tools, but it's very
easy to extend.
Some of the most important differences between this system and autoconf:
- it has a menu-driven configuration
- when compiling, the current directory will never change
- the object files are stored in a seperate tree from the source files,
leaving the latter clean, and easier grep-able.
- multiple object trees can be used, so you can have for instance a
debugging tree and a release tree side by side.
- it builds faster, mostly because libtool isn't used.
The menu
--------
There are three types of menu items.
- Type MENU
A menu with menu items.
- Variables:
- MENU_${NAME}_TITLE
The title of the menu.
- MENU_${NAME}_ITEMS
The names of the menu items (space-seperated).
- MENU_${NAME}_ITEM_${ITEMNAME}_TYPE
The type of a menu item.
- Type CHOICE:
A choice between several options.
- Variables:
- CHOICE_${NAME}_TITLE
The title of the choice menu.
- CHOICE_${NAME}_OPTIONS
The names of the options (space-seperated).
- CHOICE_${NAME}_OPTION_${OPTIONNAME}_TITLE
The title of a menu option.
- CHOICE_${NAME}_OPTION_${OPTIONNAME}_ACTION
A command to be evaluated if this option is used.
- CHOICE_${NAME}_OPTION_${OPTIONNAME}_VALID (set by the config program)
0 if the choice has been verified to be a valid choice
1 if the choice has been verified to be not a valid choice
<empty> if the choice hasn't been verified to be valid
- CHOICE_${NAME}_DEFAULT (optional)
The default choice.
- CHOICE_${NAME}_VALUE (set by the config program)
The current choice.
- Type INPUT:
A string that is user-definable.
- Variables:
- INPUT_${NAME}_DEFAULT (optional)
The default value.
- INPUT_${NAME}_TITLE
The title of the input field.
- INPUT_${NAME}_VALIDATOR (optional)
A function to call after the user supplied a new value which
checks if the value is allowed. It should accept the new value as
an argument, and return 1 if the value is not allowed, or return 0
and output the (possibly modified) value, to accept it.
- INPUT_${NAME}_VALUE (set by the config program)
The current value.
- INPUT_${NAME}_OLD_VALUE (set by the config program)
The value as it was at the start of the config program.
Program info
------------
Information about programs used should be supplied in the following form:
- PROG_${PROGRAM}_NAME
A string describing the program.
- PROG_${PROGRAM}_FILE
A string that evaluates to the executable that should be present if
this program is used.
- PROG_${PROGRAM}_ACTION (optional)
A command to be executed if this program is used, after the user is
done configuring.
- PROG_${PROGRAM}_DETECT (optional)
A command to be executed which should return 0 if the program is present
on the system, or 1 otherwise. If not supplied, 'type' is
used to check for the program in the path.
- PROG_${PROGRAM}_VERSION (optional)
A string that evaluates to the version of the executable that is
present, if it is present.
- PROG_${PROGRAM}_PRESENT (set by the configuration program)
0 if the program has been verified to be present
1 if the program has been verified to be not present
<empty> if the program hasn't been verified to be present
Library info
------------
Information about libraries used should be supplied in the following form:
- LIB_${LIB}_NAME
A string describing the program.
- LIB_${LIB}_CFLAGS
A string which evaluates to the string to add to CFLAGS if this library
is used.
- LIB_${LIB}_LDLAGS
A string which evaluates to the string to add to LDLAGS if this library
is used.
- PROG_${LIB}_DETECT (optional)
A command to be executed which should return 0 if the library is present
on the system, or 1 otherwise. If not supplied, an attempt is
made to compile and link an empty C program with the flags as in
LIB_${LIB}_CFLAGS and LIB_${LIB}_LDFLAGS.
- LIB_${LIB}_VERSION (optional)
A string that evaluates to the version of the library that is
present, if it is present.
- LIB_${PROGRAM}_PRESENT (set by the configuration program)
0 if the library has been verified to be present
1 if the library has been verified to be not present
<empty> if the library hasn't been verified to be present