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.
Marc Wäckerlin
404158ee7d
|
9 years ago | |
---|---|---|
debian | 9 years ago | |
doc | 9 years ago | |
scripts | 9 years ago | |
AUTHORS | 9 years ago | |
COPYING | 9 years ago | |
ChangeLog | 9 years ago | |
INSTALL | 9 years ago | |
NEWS | 9 years ago | |
README | 9 years ago | |
ax_check_qt.m4 | 9 years ago | |
ax_cxx_compile_stdcxx_11.m4 | 10 years ago | |
ax_init_standard_project.m4 | 9 years ago | |
bootstrap-build-environment.spec.in | 9 years ago | |
bootstrap.sh | 9 years ago | |
build-in-docker.sh | 9 years ago | |
build-resource-file.sh | 9 years ago | |
configure.ac | 9 years ago | |
mac-create-app-bundle.sh | 9 years ago | |
makefile.am | 9 years ago | |
resolve-debbuilddeps.sh | 9 years ago | |
resolve-rpmbuilddeps.sh | 9 years ago |
README
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. 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
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