1
0
mirror of https://github.com/samba-team/samba.git synced 2025-01-29 21:47:30 +03:00

42 Commits

Author SHA1 Message Date
Jelmer Vernooij
1a49b255af r14151: Add simple script that writes a summary to show what libraries the user
(might) be missing.
(This used to be commit ee90b8067915915af8ffbc0e04d1f4f5aae567cb)
2007-10-10 13:56:55 -05:00
Stefan Metzmacher
6500444a2d 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
(This used to be commit 89b5667ab0f761e679fdee0f5c3d94942e67e28e)
2007-10-10 13:54:02 -05:00
Stefan Metzmacher
d9c439b884 r13967: change the standard visibility to "default" public again
for modules, libraries and subsystems

metze
(This used to be commit 2d546c32801b12ba82596ccdf1521cba7bfff9f7)
2007-10-10 13:52:33 -05:00
Stefan Metzmacher
112bb4d220 r13921: rename DEFAULT_VISIBILITY -> STANDARD_VISIBILITY
the standard is "hidden" and not "default", I hope this
name makes a bit less confusing

metze
(This used to be commit 3e27534ad6d249c1d69f326dac9cc250868b0534)
2007-10-10 13:52:24 -05:00
Stefan Metzmacher
0d1e034b01 r13919: for us the standard for the visibility is "hidden"
and "default" means public

metze
(This used to be commit ab553c296f333f91d1e5fc50be827da235e33248)
2007-10-10 13:52:23 -05:00
Jelmer Vernooij
ba564a901e r13903: Don't generate prototypes for modules and binaries in include/proto.h by
default.
(This used to be commit c80a8f1102caf744b66c13bebde38fba74983dc4)
2007-10-10 13:52:21 -05:00
Jelmer Vernooij
ce3032cab8 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.
(This used to be commit ea9988dfda6df09f1ee8f9aea1dc5b96fff52ee6)
2007-10-10 13:52:20 -05:00
Jelmer Vernooij
26af14c39b 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
(This used to be commit 52a235650514039bf8ffee99a784bbc1b6ae6b92)
2007-10-10 13:52:11 -05:00
Jelmer Vernooij
e25e37e0b6 r12680: Support setting the environment variable SMB_BUILD_VERBOSE to
print out more debug info
(This used to be commit a54fefbfc5b2796cf8c47f22629ec86bca39cd39)
2007-10-10 13:49:37 -05:00
Jelmer Vernooij
0b41dad3fc r12671: Modules don't have to be linked with their subsystem.
(This used to be commit 8f5edcc6a2ec02a496ef77b7044a56bb8f4be0f1)
2007-10-10 13:49:36 -05:00
Jelmer Vernooij
bc4aebfaec 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
(This used to be commit f9eede3d40098eddc3618ee48f9253cdddb94a6f)
2007-10-10 13:49:35 -05:00
Stefan Metzmacher
83acc688e3 r12615: prepare building with ../samba4/source/configure --srcdir=../samba4/source/
metze
(This used to be commit bf35c74218476fc568e251bb337e794ed9d51fac)
2007-10-10 13:49:04 -05:00
Jelmer Vernooij
7285e102f0 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)
(This used to be commit 60e11f575821c1762b25ad66441b6e69ad1167ef)
2007-10-10 13:47:51 -05:00
Jelmer Vernooij
10c183d9ae 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.
(This used to be commit cdfd20fa17c5c4655689e8611e0106d5716b6995)
2007-10-10 13:47:51 -05:00
Jelmer Vernooij
448483199f 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).
(This used to be commit b6d2ad4ce0a91c4be790dd258820c492ff1787ea)
2007-10-10 13:47:45 -05:00
Jelmer Vernooij
1ac5c35ed9 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.
(This used to be commit a4088ccc704f1338c040c53596ff606cc1651d03)
2007-10-10 13:47:41 -05:00
Jelmer Vernooij
f8be4e8a4f r12253: Automatically build seperate binaries without -rpath to install when
using shared libraries and developer mode is enabled.
(This used to be commit 507bee76dc26b048ead317ec5e10a9deb1ff7f09)
2007-10-10 13:47:24 -05:00
Jelmer Vernooij
efe67458c1 r12216: Couple of small fixes: reduce include/includes.h a bit, simplify headers
in build/smb_build/, remove unused pstring macros
(This used to be commit 432296207400636dd81d0929ec7b1b4cebbcaa62)
2007-10-10 13:47:19 -05:00
Jelmer Vernooij
a4e7bf3a89 r11382: Require number of required M4 macros
Make MODULE handling a bit more like BINARY, LIBRARY and SUBSYSTEM
Add some more PUBLIC_HEADERS
(This used to be commit 875eb8f4cc658e6aebab070029fd499a726ad520)
2007-10-10 13:45:29 -05:00
Jelmer Vernooij
93fd08168f 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).
(This used to be commit 0b54405685674a2b19a28d77aae5b1136b5a4728)
2007-10-10 13:45:28 -05:00
Jelmer Vernooij
8ee1ee66ed r11303: Support defining and installing public headers for libraries.
Support installing libraries.
Get rid of pkg-config file (will be autogenerated later on).
(This used to be commit b4745032a2c55752c527026feb221ccc3dce10c8)
2007-10-10 13:45:16 -05:00
Jelmer Vernooij
bf300c8687 r11300: Treat libraries as a special kind of subsystem
(one that can also be built as a library and installed).
(This used to be commit 98d1f9b1dc523ed88c5aa8d066030b33d74f62bf)
2007-10-10 13:45:15 -05:00
Jelmer Vernooij
78696ddcb2 r11299: Try to fix build on Stratos VOS (doesn't support ld -r)
(This used to be commit 65c71bf354612a589049753d854e154482957573)
2007-10-10 13:45:15 -05:00
Jelmer Vernooij
da63ed0015 r11254: Remove support for [TARGET:foo]-like .mk-file entries
(it is already possible to include verbatim make data)
(This used to be commit 21e355d031c6233ed0f40207d716987931927c6c)
2007-10-10 13:45:08 -05:00
Jelmer Vernooij
23926e75c6 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.
(This used to be commit 6b671fb34a35def9a8d2fdaa8d9a04ff26c9e929)
2007-10-10 13:30:59 -05:00
Jelmer Vernooij
930e624d81 r8826: Make configure generate config.mk files (with the external libraries
that were found) and a config.pm file (with all substitution variables)
(This used to be commit 52bb1374bbcfc9b9a6d098687bafe9021a1ee858)
2007-10-10 13:30:09 -05:00
Jelmer Vernooij
c84512f0e1 r8690: Code cleanups, improvements necessary for dependencies (not added yet)
(This used to be commit 7384b3c4a1450ad63356dcf586e3a7e7335f8e6d)
2007-10-10 13:29:54 -05:00
Jelmer Vernooij
8ee772712c r7315: Add support for custom makefile targets, e.g.:
[TARGET::FOOBAR]
CMD = make bla
(This used to be commit 65600536b614e4cc1449488fa3297c1e6a2e4053)
2007-10-10 13:17:41 -05:00
Jelmer Vernooij
fc4c633d9f r6926: More build farm fixes:
- Warn about unknown attributes in .mk
 - Remove more unused functions
(This used to be commit 6bf8126ae9368dc56cf0cd91b972a2d939974679)
2007-10-10 13:16:57 -05:00
Jelmer Vernooij
e73d051e20 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 )
(This used to be commit b9d0ae93ba86fec0115f58e7940b2a6c908bc809)
2007-10-10 13:16:50 -05:00
Jelmer Vernooij
29a8069aee r6838: Remove unnecessary calls to gensec_gsskrb5
Make the build system give a proper warning about this in the future
(This used to be commit 2d980465af87d25ce17b8340c6b5f662ef29edd3)
2007-10-10 13:16:49 -05:00
Stefan Metzmacher
7b8f931d2d r6607: fix the build
metze
(This used to be commit 7fb10f2753f4acd7d86928b601139137af4be7b5)
2007-10-10 13:16:30 -05:00
Tim Potter
ac6c2f44cd 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.
(This used to be commit 3feac34d84fa7cac646a90708f399420178c7313)
2007-10-10 13:16:28 -05:00
Jelmer Vernooij
a62ade362f 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
(This used to be commit f298f2a5478a905fe385b8d68318db92ee984374)
2007-10-10 13:10:50 -05:00
Jelmer Vernooij
548c5e5f31 r3768: Fix build of libraries
(This used to be commit 9929aa94ef01eba64ccf41f4b22df0cdbe3e96b3)
2007-10-10 13:05:52 -05:00
Jelmer Vernooij
fd4c057f9f r3751: Some fixes to using enable and disable for subsystems, ext libs and modules
(This used to be commit c7757dd9adc18549fa3f908c2714624ec3f91394)
2007-10-10 13:05:51 -05:00
Jelmer Vernooij
1824d52ff2 r3740: Convert more files to .mk, fix the build
(This used to be commit a7c3c8cb6256acf672996fc6bf6128865a9ba0a9)
2007-10-10 13:05:48 -05:00
Jelmer Vernooij
1817b3d4a5 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..)
(This used to be commit fc0432069bf3569a47a7c32f4bf789cec2ca44db)
2007-10-10 13:05:48 -05:00
Jelmer Vernooij
8e16d8a76f 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)
(This used to be commit 64826da834e26ee0488674e27a0eae36491ee179)
2007-10-10 13:05:47 -05:00
Jelmer Vernooij
7367d23713 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
(This used to be commit cbe819a75568403ac8850ea4d344c607a46d61c2)
2007-10-10 13:05:47 -05:00
Jelmer Vernooij
a20b130b5f r3691: Use packages
(This used to be commit 975f06b626a3cc25e69bbe95dcfa04dc78e3dc92)
2007-10-10 13:05:45 -05:00
Jelmer Vernooij
ab440ac6f7 r3690: Use perl's 'use' statement to include the build system parts
rather then using "cat"
(This used to be commit 4d018b2b701faa56d7e3bb7634729296b53e0acb)
2007-10-10 13:05:44 -05:00