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 10 years ago
debian set section 10 years ago
doc initial release for packaging 10 years ago
scripts fixed icon and desktop file 10 years ago
AUTHORS AUTHOR updated to new homepage 10 years ago
COPYING initial release for packaging 10 years ago
ChangeLog fixed icon and desktop file 10 years ago
INSTALL initial release for packaging 10 years ago
NEWS initial release for packaging 10 years ago
README updated 10 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) 10 years ago
ax_cxx_compile_stdcxx_11.m4 copied initial release from webtester 10 years ago
ax_init_standard_project.m4 fixed icon and desktop file 10 years ago
bootstrap-build-environment.desktop.in fixed icon and desktop file 10 years ago
bootstrap-build-environment.spec.in initial release for packaging 10 years ago
bootstrap.sh fixed icon and desktop file 10 years ago
build-in-docker.sh updated build system 10 years ago
build-resource-file.sh new features and fixes 10 years ago
configure.ac initial release for packaging 10 years ago
mac-create-app-bundle.sh improvements, mainly for mac 10 years ago
makefile.am initial release for packaging 10 years ago
resolve-debbuilddeps.sh updated 10 years ago
resolve-rpmbuilddeps.sh sereveral improvements, also now possibility to use fixed version minor ba adding a diff for least 10 years ago
sql-to-dot.sed fixed icon and desktop file 10 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