1
0
mirror of https://github.com/samba-team/samba.git synced 2025-12-07 20:23:50 +03:00
Commit Graph

42 Commits

Author SHA1 Message Date
Jelmer Vernooij
ee90b80679 r14151: Add simple script that writes a summary to show what libraries the user
(might) be missing.
2007-10-10 13:56:55 -05:00
Stefan Metzmacher
89b5667ab0 r14072: - only add the 'lib' prefix to libraries not modules
- fix installation of plugins (and make it a bit more verbose
- get rid of the '#define libfoo_module_init init_module'
  and genereated a wrapper function in bin/libfoo_module_init_module.c
- change the standard visibility for modules to hidden
- a few make clean fixes

metze
2007-10-10 13:54:02 -05:00
Stefan Metzmacher
2d546c3280 r13967: change the standard visibility to "default" public again
for modules, libraries and subsystems

metze
2007-10-10 13:52:33 -05:00
Stefan Metzmacher
3e27534ad6 r13921: rename DEFAULT_VISIBILITY -> STANDARD_VISIBILITY
the standard is "hidden" and not "default", I hope this
name makes a bit less confusing

metze
2007-10-10 13:52:24 -05:00
Stefan Metzmacher
ab553c296f r13919: for us the standard for the visibility is "hidden"
and "default" means public

metze
2007-10-10 13:52:23 -05:00
Jelmer Vernooij
c80a8f1102 r13903: Don't generate prototypes for modules and binaries in include/proto.h by
default.
2007-10-10 13:52:21 -05:00
Jelmer Vernooij
ea9988dfda r13898: Add a subsystem-specific DEFAULT_VISIBILITY property that can be used
to not export symbols when building shared libraries. Symbols that have to be
available to users of the library can be explicitly exported by
prepending them with _PUBLIC_ in the C source.
2007-10-10 13:52:20 -05:00
Jelmer Vernooij
52a2356505 r13786: [merge] Add registration functions for LDB modules
Applications that use LDB modules will now have to run ldb_global_init()
before they can use LDB.

The next step will be adding support for loading LDB modules from .so
files. This will also allow us to use one LDB without difference between the
standalone and the Samba-specific build
2007-10-10 13:52:11 -05:00
Jelmer Vernooij
a54fefbfc5 r12680: Support setting the environment variable SMB_BUILD_VERBOSE to
print out more debug info
2007-10-10 13:49:37 -05:00
Jelmer Vernooij
8f5edcc6a2 r12671: Modules don't have to be linked with their subsystem. 2007-10-10 13:49:36 -05:00
Jelmer Vernooij
f9eede3d40 r12670: Make a couple of dependencies stricter
Re-introduce and use the OUTPUT_TYPE property for MODULEs to force
specific modules to always be included
2007-10-10 13:49:35 -05:00
Stefan Metzmacher
bf35c74218 r12615: prepare building with ../samba4/source/configure --srcdir=../samba4/source/
metze
2007-10-10 13:49:04 -05:00
Jelmer Vernooij
60e11f5758 r12523: Convert the registry subsystem to use a seperate prototype header
(note that this doesn't use the distinction between private
 and public prototypes yet)
2007-10-10 13:47:51 -05:00
Jelmer Vernooij
cdfd20fa17 r12520: Add support for --help to mkproto.pl
Allow the use of {PRIVATE,PUBLIC}_PROTO_HEADER for [SUBSYSTEM]
and [LIBRARY] sections in .mk files. Public functions can be marked
by adding _PUBLIC_ between their return type and function name.

This should eventually make include/proto.h and include/structs.h obsolete.
2007-10-10 13:47:51 -05:00
Jelmer Vernooij
b6d2ad4ce0 r12494: Support loading modules from .so files for most subsystems.
We now use a different system for initializing the modules for a subsystem.
Most subsystems now have an init function that looks something like this:

	init_module_fn static_init[] = STATIC_AUTH_MODULES;
	init_module_fn *shared_init = load_samba_modules(NULL, "auth");

	run_init_functions(static_init);
	run_init_functions(shared_init);

	talloc_free(shared_init);

I hope to eliminate the other init functions later on (the
init_programname_subsystems; defines).
2007-10-10 13:47:45 -05:00
Jelmer Vernooij
a4088ccc70 r12450: Move generation of proto and full object lists to makefile.pm. 'make' now
handles expanding the protoheader object list, rather then the build system,
	which makes the makefile quite a bit shorter.
2007-10-10 13:47:41 -05:00
Jelmer Vernooij
507bee76dc r12253: Automatically build seperate binaries without -rpath to install when
using shared libraries and developer mode is enabled.
2007-10-10 13:47:24 -05:00
Jelmer Vernooij
4322962074 r12216: Couple of small fixes: reduce include/includes.h a bit, simplify headers
in build/smb_build/, remove unused pstring macros
2007-10-10 13:47:19 -05:00
Jelmer Vernooij
875eb8f4cc r11382: Require number of required M4 macros
Make MODULE handling a bit more like BINARY, LIBRARY and SUBSYSTEM
Add some more PUBLIC_HEADERS
2007-10-10 13:45:29 -05:00
Jelmer Vernooij
0b54405685 r11377: Add support for building LIBRARY elements as shared libraries:
- Adds -rpath bin/ so you don't have to install Samba in order to use compiled binaries.
 - Writes out pkg-config files when building shared libs
 - Supports automatic fallback to MERGEDOBJ (which is the default) or
   OBJ_LIST (if ld -r is not supported)

Building with shared libs reduces the size of the Samba binaries from
197 Mb to 60 Mb (including libraries) on my system (GCC4, with debugging).

To build with shared libraries support enabled, run:

LIBRARY_OUTPUT_TYPE=SHARED_LIBRARY ./config.status

init functions don't get called correctly yet when using shared libs, so
you won't be able to actually run anything with success :-)

Once init functions are done, I'll look at support for loading shared
modules once again.

Based on a patch by Peter Novodvorsky (nidd on IRC).
2007-10-10 13:45:28 -05:00
Jelmer Vernooij
b4745032a2 r11303: Support defining and installing public headers for libraries.
Support installing libraries.
Get rid of pkg-config file (will be autogenerated later on).
2007-10-10 13:45:16 -05:00
Jelmer Vernooij
98d1f9b1dc r11300: Treat libraries as a special kind of subsystem
(one that can also be built as a library and installed).
2007-10-10 13:45:15 -05:00
Jelmer Vernooij
65c71bf354 r11299: Try to fix build on Stratos VOS (doesn't support ld -r) 2007-10-10 13:45:15 -05:00
Jelmer Vernooij
21e355d031 r11254: Remove support for [TARGET:foo]-like .mk-file entries
(it is already possible to include verbatim make data)
2007-10-10 13:45:08 -05:00
Jelmer Vernooij
6b671fb34a r8936: Use incremental linking. This appeared to be supported on
all systems on the buildfarm when I tested it using smb_build.

It's just a one line change to go back. If this works correctly, we can
simplify the build system quite a bit.
2007-10-10 13:30:59 -05:00
Jelmer Vernooij
52bb1374bb r8826: Make configure generate config.mk files (with the external libraries
that were found) and a config.pm file (with all substitution variables)
2007-10-10 13:30:09 -05:00
Jelmer Vernooij
7384b3c4a1 r8690: Code cleanups, improvements necessary for dependencies (not added yet) 2007-10-10 13:29:54 -05:00
Jelmer Vernooij
65600536b6 r7315: Add support for custom makefile targets, e.g.:
[TARGET::FOOBAR]
CMD = make bla
2007-10-10 13:17:41 -05:00
Jelmer Vernooij
6bf8126ae9 r6926: More build farm fixes:
- Warn about unknown attributes in .mk
 - Remove more unused functions
2007-10-10 13:16:57 -05:00
Jelmer Vernooij
b9d0ae93ba r6839: Add support for building subsystems as shared libraries. This can be
done by setting:
OUTPUT_TYPE = SHARED_LIBRARY
in the [SUBSYSTEM::...] section belonging to a subsystem.

The idea is to allow multiple values to OUTPUT_TYPE simultaneously
(e.g. OUTPUT_TYPE = SHARED_LIBRARY, STATIC_LIBRARY, OBJLIST )
2007-10-10 13:16:50 -05:00
Jelmer Vernooij
2d980465af r6838: Remove unnecessary calls to gensec_gsskrb5
Make the build system give a proper warning about this in the future
2007-10-10 13:16:49 -05:00
Stefan Metzmacher
7fb10f2753 r6607: fix the build
metze
2007-10-10 13:16:30 -05:00
Tim Potter
3feac34d84 r6589: Make the library versioning options for building a shared library optional.
This will allow us to build unversioned libraries suitable for loading
using dlopen() i.e for the swig wrappers.
2007-10-10 13:16:28 -05:00
Jelmer Vernooij
f298f2a547 r5487: - Allow disabling modules
- Disable all current DCOM functionality (I hope to commit
	a large bunch of COM and DCOM changes later today)
- Make remact and oxidresolver depend on orpc rather then dcom
2007-10-10 13:10:50 -05:00
Jelmer Vernooij
9929aa94ef r3768: Fix build of libraries 2007-10-10 13:05:52 -05:00
Jelmer Vernooij
c7757dd9ad r3751: Some fixes to using enable and disable for subsystems, ext libs and modules 2007-10-10 13:05:51 -05:00
Jelmer Vernooij
a7c3c8cb62 r3740: Convert more files to .mk, fix the build 2007-10-10 13:05:48 -05:00
Jelmer Vernooij
fc0432069b r3735: Allow building subsystems as static libraries (.a files). To enable
this support, run SUBSYSTEM_OUTPUT_TYPE=STATIC_LIBRARY ./config.status

I haven't enabled this by default because there are some circular dependencies
in the makefile that have to be resolved first (LIBRPC depends on LIBSMB
												and LIBSMB depends on LIBRPC..)
2007-10-10 13:05:48 -05:00
Jelmer Vernooij
64826da834 r3733: More build system fixes/features:
- Use .mk files directly (no need for a SMB_*_MK() macro when adding a new SUBSYSTEM, MODULE or BINARY). This allows addition of new modules and subsystems without running configure
 - Add support for generating .dot files with the Samba4 dependency tree (as used by the graphviz and springgraph utilities)
2007-10-10 13:05:47 -05:00
Jelmer Vernooij
cbe819a755 r3730: More build system fixes and simplifications
the hierarchy in the init functions is correct now
will also make it easier to implement some other features
2007-10-10 13:05:47 -05:00
Jelmer Vernooij
975f06b626 r3691: Use packages 2007-10-10 13:05:45 -05:00
Jelmer Vernooij
4d018b2b70 r3690: Use perl's 'use' statement to include the build system parts
rather then using "cat"
2007-10-10 13:05:44 -05:00