Anton Bobrov wrote:

Rich, nspr/nss switches sounds like a good idea tho i'm not
sure what nspr-config is.

nspr-config is a shell script that prints out various compiler and linker flags to use to build programs that use nspr e.g. -I/path/to/include or -L/path/to/libs - analogous to pkg-config.

re rpms we include some examples
and sample conf files in our dev rpm like this :

/usr
/usr/share
/usr/share/ldapcsdk
/usr/share/ldapcsdk/etc
/usr/share/ldapcsdk/etc/ldapfilter.conf
/usr/share/ldapcsdk/etc/ldapfriendly
/usr/share/ldapcsdk/etc/ldapsearchprefs.conf
/usr/share/ldapcsdk/etc/ldaptemplates.conf
/usr/share/ldapcsdk/examples
/usr/share/ldapcsdk/examples/Makefile
/usr/share/ldapcsdk/examples/README
/usr/share/ldapcsdk/examples/add.c
/usr/share/ldapcsdk/examples/asearch.c
/usr/share/ldapcsdk/examples/compare.c
/usr/share/ldapcsdk/examples/crtfilt.c
/usr/share/ldapcsdk/examples/csearch.c
/usr/share/ldapcsdk/examples/del.c
/usr/share/ldapcsdk/examples/examples.h
/usr/share/ldapcsdk/examples/getattrs.c
/usr/share/ldapcsdk/examples/getfilt.c
/usr/share/ldapcsdk/examples/modattrs.c
/usr/share/ldapcsdk/examples/modrdn.c
/usr/share/ldapcsdk/examples/nsprio.c
/usr/share/ldapcsdk/examples/ppolicy.c
/usr/share/ldapcsdk/examples/psearch.c
/usr/share/ldapcsdk/examples/rdentry.c
/usr/share/ldapcsdk/examples/search.c
/usr/share/ldapcsdk/examples/srvrsort.c
/usr/share/ldapcsdk/examples/ssearch.c
/usr/share/ldapcsdk/examples/ssnoauth.c
/usr/share/ldapcsdk/examples/xmplflt.conf

tools go in /opt/sun/private/bin and libs go in /opt/sun/private/lib
and includes are under /opt/sun/private/include/ldap so there is no
clash nowhere. take care and happy new year!

Is this only for Linux? I'm assuming on Solaris the shared libs are in /usr/lib, the include files are in /usr/include, etc.




ta,
anton.

Rich Megginson wrote:

I'm going to be doing some work in the following areas, and I would like to get some input from ldapsdk developers, and especially the mozilla and thunderbird developers to see how they build ldapsdk as part of those products:
1) auto detection of nspr and nss, something like this
if --without-nspr then
    no nspr
if --with-nspr=path OR (--with-nspr-inc=path AND --with-nspr-lib=path)
    use the explicit paths provided by the user
else if --with-system-nspr then
    get nspr from OS
look for nspr-config using --with-nspr-prefix and --with-nspr-exec-prefix
    if that fails, look for nspr-config in PATH
    if nspr-config is found, get cflags and ldflags from it
    if that fails, look for pkg-config
        see if pkg-config nspr is available
        else use pkg-config mozilla-nspr
        get cflags and ldflags from pkg-config
    if both nspr-config and pkg-config fail, punt
else
in-tree - look for nspr in ../../dist/*.OBJ - look for include/nspr.h and lib/
    if not in-tree, fall back to --with-system-nspr decision tree

The detection of nss will be almost identical

There are a few places in the Makefiles that need to change in order to be able to pass in the CFLAGS and LDFLAGS.

2) Packaging of NSPR and NSS libs
I don't think we need to do this anymore - I'd like to remove the packaging of NSPR and NSS libs

3) RPM packaging
We're planning to make the ldap sdk part of the base OS. I'm proposing to name the package "mozldap". There will be 3 packages total: mozldap - contains just the shared libs (and any other run-time only files) mozldap-devel - contains the include files and mozldap-config and .pc file
mozldap-tools - contains the command line tools
The shared libs will go into /usr/lib, the tools into /usr/lib/mozldap (so as not to conflict with the openldap versions), and the include files into /usr/include/mozldap (ditto)
Here is a .spec file excerpt:
%files
%defattr(-,root,root)
%{_libdir}/libssldap50.so
%{_libdir}/libprldap50.so
%{_libdir}/libldap50.so

%files tools
%defattr(-,root,root)
%{_libdir}/mozldap/ldapsearch
%{_libdir}/mozldap/ldapmodify
%{_libdir}/mozldap/ldapdelete
%{_libdir}/mozldap/ldapcmp
%{_libdir}/mozldap/ldapcompare

%files devel
%defattr(-,root,root)
%{_libdir}/pkgconfig/mozldap.pc
%{_bindir}/mozldap-config
%dir %{_includedir}/mozldap
%{_includedir}/mozldap/disptmpl.h
%{_includedir}/mozldap/lber.h
%{_includedir}/mozldap/ldap.h
%{_includedir}/mozldap/ldap-standard.h
%{_includedir}/mozldap/ldap-platform.h
%{_includedir}/mozldap/ldap-extension.h
%{_includedir}/mozldap/ldap-deprecated.h
%{_includedir}/mozldap/ldap-to-be-deprecated.h
%{_includedir}/mozldap/ldap_ssl.h
%{_includedir}/mozldap/ldappr.h
%{_includedir}/mozldap/srchpref.h
_______________________________________________
mozilla-directory mailing list
mozilla-directory@mozilla.org
http://mail.mozilla.org/listinfo/mozilla-directory
_______________________________________________
mozilla-directory mailing list
mozilla-directory@mozilla.org
http://mail.mozilla.org/listinfo/mozilla-directory

Reply via email to