#! /usr/bin/env python
# encoding: utf-8
# Jérôme Carretero, 2013 (zougloub)

"""
Demonstration for building of static+shared libraries.
"""


def options(opt):
	opt.load('compiler_c gnu_dirs')

def configure(conf):
	conf.load('compiler_c gnu_dirs')

def build(bld):

	bld(
	 features='c',
	 source='test_shlib.c',
	 # it is -uselib' in this case to avoid propagation of '-shared'
	 # to the program below. A more explicit alternative is to set
	 # cflags=bld.env.CFLAGS_cshlib
	 uselib='cshlib',
	 target='objects-for-shlib',
	)

	bld(
	 features='c',
	 source='test_shlib.c',
	 target='objects-for-stlib',
	)

	bld(
	 features='c cshlib',
	 target='something-shared',
	 vnum='1.2.3',
	 use='objects-for-shlib',
	)

	bld(
	 features='c cstlib',
	 target = 'something-static',
	 use='objects-for-stlib',
	)

	bld(
	 features='c cprogram',
	 target='exe-shared',
	 source='main.c',
	 use='something-shared',
	)

	bld(
	 features='c cprogram',
	 target='exe-static',
	 source='main.c',
	 use='something-static',
	)

