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 e4416881d3 fixed icon and desktop file 9 years ago
debian set section 9 years ago
doc initial release for packaging 9 years ago
scripts fixed icon and desktop file 9 years ago
AUTHORS AUTHOR updated to new homepage 9 years ago
COPYING initial release for packaging 9 years ago
ChangeLog fixed icon and desktop file 9 years ago
INSTALL initial release for packaging 9 years ago
NEWS initial release for packaging 9 years ago
README updated 9 years ago
ax_check_qt.m4 except for variants, install al at once (it's faster); sudo or not is the problem of the caller; also cleanup debian/control if created (importan, otherwise with sudo, it belongs to root) 9 years ago
ax_cxx_compile_stdcxx_11.m4 copied initial release from webtester 9 years ago
ax_init_standard_project.m4 fixed icon and desktop file 9 years ago
bootstrap-build-environment.desktop.in fixed icon and desktop file 9 years ago
bootstrap-build-environment.spec.in initial release for packaging 9 years ago
bootstrap.sh fixed icon and desktop file 9 years ago
build-in-docker.sh updated build system 9 years ago
build-resource-file.sh new features and fixes 9 years ago
configure.ac initial release for packaging 9 years ago
mac-create-app-bundle.sh improvements, mainly for mac 9 years ago
makefile.am initial release for packaging 9 years ago
resolve-debbuilddeps.sh updated 9 years ago
resolve-rpmbuilddeps.sh sereveral improvements, also now possibility to use fixed version minor ba adding a diff for least 9 years ago
sql-to-dot.sed fixed icon and desktop file 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

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