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:
@@ -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
|
||||
|
||||
Reference in New Issue
Block a user