svn commit: samba r3041 - in branches/SAMBA_4_0/source/build/smb_build: .

metze at samba.org metze at samba.org
Mon Oct 18 14:55:36 GMT 2004


Author: metze
Date: 2004-10-18 14:55:35 +0000 (Mon, 18 Oct 2004)
New Revision: 3041

WebSVN: http://websvn.samba.org/websvn/changeset.php?rep=samba&path=/branches/SAMBA_4_0/source/build/smb_build&rev=3041&nolog=1

Log:
a start of a README/HOWTO for the samba4 build system.
(still incomplete, but should be a good start...)

can someone look for spelling and grammar mistakes...

metze

Added:
   branches/SAMBA_4_0/source/build/smb_build/README.txt
Modified:
   branches/SAMBA_4_0/source/build/smb_build/public.m4


Changeset:
Added: branches/SAMBA_4_0/source/build/smb_build/README.txt
===================================================================
--- branches/SAMBA_4_0/source/build/smb_build/README.txt	2004-10-18 13:58:41 UTC (rev 3040)
+++ branches/SAMBA_4_0/source/build/smb_build/README.txt	2004-10-18 14:55:35 UTC (rev 3041)
@@ -0,0 +1,84 @@
+The Samba Build System
+----------------------
+----------------------
+
+Object Types
+------------
+the build system knows about the following object types
+
+SUBSYSTEM:
+	a SUBSYSTEM is basicly a collection of functions, which provide an
+	an generic API for a specific problem (e.g. libldb provides an api
+	for gneric ldb databases. libldb_plugin provides a generic api
+	for calling ldb plugins, so 'libldb' and 'libldb_plugin' are subsystems)
+
+MODULE:
+	a MODULE is a specify implementation of a API provided by a SUBSYSTEM.
+	(e.g. 'libldb_tdb' and 'libldb_ldap' are implementations of the subsystem 'libldb' API,
+	 and 'libldb_plugin_timestamp' is a module of the 'libldb_plugin' subsystem)	
+
+EXT_LIB:
+	an EXT_LIB is an external library which is needed by a SUBSYSTEM, MODULE, BINARY or LIBRARY.
+	(e.g. 'gtk' or 'KRB5')
+
+BINARY:
+	a BINARY means a executable binary file.
+	(e.g. 'smbtorture' or 'ldbedit')
+	a BINARY typicly has only commandline handling and basic 
+	functionality code in it and depends on the functions of
+	EXT_LIB's (required_libraries/REQUIRED_LIBRARIES) and/or
+	SUBSYSTEM's (required_subsystems/REQUIRED_SUBSYSTEMS).
+
+LIBRARY:
+	a LIBRARY means a static and/or shared library,
+	which depends on the used OS.
+	(e.g. for libldb 'libldb.so', 'libldb.so.0' 'libldb.so.0.0.1'
+	      and libldb.a are created on linux)
+	a LIBRARY typicly has only glue code in it and depends on
+	the functions of EXT_LIB's (required_libraries/REQUIRED_LIBRARIES) 
+	and/or SUBSYSTEM's (required_subsystems/REQUIRED_SUBSYSTEMS).
+
+
+Macrodescriptions
+----------------
+On top of build/smb_build/public.m4 is a list of all public macros of the build system.
+
+
+Layout
+-------
+
+Toplevel file: configure.in
+- included by autogen.sh: aclocal.m4
+  which includes the SMB_YXZ*() macros
+
+- default tests of the build system
+  are in build/smb_build/check_*.m4
+  (mostly compiler and basic C type and function
+   checks)
+
+- subsystem specific stuff should be included by 'SMB_INLUDE_M4()'
+
+
+Generating of 'configure'
+-------------------------
+you need to rerun ./autogen.sh when 'configure.in' or any
+'.m4' file was modified, then you need to rerun configure.
+
+
+Generating of 'config.status'
+-----------------------------
+you need to run ./config.status (or 'configure') after a '.mk'
+file was changed.
+
+
+Examples
+--------
+for now please take a look at the .m4 and .mk files
+you find in the source tree, they should be a good reference to start.
+
+
+README-TODO
+------------
+SMB_XYZ() vs. SMB_XYZ_MK()
+meaning of the macros parameters and the .mk file handling
+examples

Modified: branches/SAMBA_4_0/source/build/smb_build/public.m4
===================================================================
--- branches/SAMBA_4_0/source/build/smb_build/public.m4	2004-10-18 13:58:41 UTC (rev 3040)
+++ branches/SAMBA_4_0/source/build/smb_build/public.m4	2004-10-18 14:55:35 UTC (rev 3041)
@@ -13,7 +13,7 @@
 dnl		3:default_build,
 dnl		4:init_obj_files,
 dnl		5:add_obj_files,
-dnl		6:required_libs,
+dnl		6:required_libraries,
 dnl		7:required_subsystems
 dnl		)
 dnl
@@ -45,7 +45,7 @@
 dnl		1:name,
 dnl		2:init_obj_files,
 dnl		3:add_obj_files,
-dnl		4:required_libs,
+dnl		4:required_libraries,
 dnl		5:required_subsystems
 dnl		)
 dnl
@@ -95,7 +95,7 @@
 dnl		3:minor_version
 dnl		4:release_version
 dnl		5:obj_files,
-dnl		6:required_libs,
+dnl		6:required_libraries,
 dnl		7:required_subsystems
 dnl		)
 dnl
@@ -127,7 +127,7 @@
 dnl		2:build_targets,
 dnl		3:install_path
 dnl		4:obj_files,
-dnl		5:required_libs,
+dnl		5:required_libraries,
 dnl		6:required_subsystems
 dnl		)
 dnl



More information about the samba-cvs mailing list