Template to bootstrap configure/automake projects for C++, libtool, Qt, NodeJS, PHP, Shell-Scripts, etc. Extends autotools, by building packages for Debian and RPM, specifying generic library dependencies, creating desktop applications with icons, etc. https://mrw.sh/development/bootstrap-build-environment
You can not select more than 25 topics Topics must start with a letter or number, can include dashes ('-') and can be up to 35 characters long.

82 lines
2.2 KiB

9 years ago
bootstrap-build-environment
Simply setup a new project:
1. create a subversion basic tree
2. checkoutsubversion repository
3. cd into the new project subversion working copy
4. call with full path: /path/to/bootstrap.sh
5. if trunk has been created, cd to trunk
6. follow the instructions, i.e. edit configure.ac
7. run again: /path/to/bootstrap.sh
8. add some generated files: svn add COPYING ChangeLog INSTALL
9 years ago
9. check files, i.e. all makefile.am, set Section in debian/control.in
10. your project is setup and compilable, test: ./bootstrap.sh -b
Fore more details, see:
./bootstrap.sh -h
Supports and preconfigures:
- C++ including:
- Qt
- Library dependencies
- CPP-Unit
- PKG-Config dependency file
- Doxygen for documentation
- Scripts
- HTML / Web projects
- Examples
- Tests
- Debian packaging
- RPM packaging
- Mac OSX App Bundle creation
Example:
There is a just created empty subversion repository:
https://dev.marc.waeckerlin.org/svn/project-name
Setup a basic project:
svn co https://dev.marc.waeckerlin.org/svn/project-name
cd project-name
../bootstrap-build-environment/scripts/bootstrap.sh
cd trunk
The file AUTHORS is already correct due to my gnupg setup:
Fistname Lastname (https://my.homepage.xyz) <me@mysite.xyz>
Edit the file README, I add the following lines:
First line is the headline, the short description, e.g. in the packages
The following lines describe your project...
They also appear in the package description
Edit configure.ac, since I want to publish scripts, generate doxygen, debian and rpm packages, I enable the following lines:
AX_USE_SCRIPTS
AX_USE_DOXYGEN
AX_USE_DEBIAN_PACKAGING
AX_USE_RPM_PACKAGING
Also I check "Section" in debian/control.in and set it do development.
Then I continue, I rerun bootstrap.sh, this time with option -b which calls make distcheck at the end:
../../bootstrap-build-environment/scripts/bootstrap.sh -b
9 years ago
Add some additional files:
svn add trunk/{COPYING,INSTALL,ChangeLog}
Everything is fine, so checkin the changes and cleanup the system:
cd ..
svn ci -m "initial project creation"
cd ..
rm -rf project-name
svn co https://dev.marc.waeckerlin.org/svn/project-name/trunk project-name