On Sat, Oct 30, 2010 at 07:28:40PM +0200, Julien Dessaux wrote: > I'm using the LDAP lib for one of my projects and I found a problem > while building it on an OpenBSD system. It wouldn't compile because there is > a macro named differently in the ldap.h include file. Under linux, this > macro is named LDAP_X_PROXY_AUTHZ_FAILURE but on OpenBSD (and probably other > BSD flavours), it's named LDAP_PROXY_AUTHZ_FAILURE. > > I attached the diff I wrote in order to compile the lib on OpenBSD, but > it's not a patch I can submit cause it now won't compile on Linux. How can I > amend this in order to have a code that would compile on both systems? How > is it possible to specify such conditional system dependent stuff for a C > binding?
You can use different CC-Options in LDAP.cabal depending on the OS. For example if os(openbsd) CC-Options: -DLDAP_X_PROXY_AUTHZ_FAILURE=LDAP_PROXY_AUTHZ_FAILURE else CC-Options: -DLDAP_DEPRECATED=1 Or, if LDAP_X_PROXY_AUTHZ_FAILURE is only used on Linux, just do it reverse, i.e. patch the sources to use LDAP_PROXY_AUTHZ_FAILURE and conditionally define it as LDAP_X_PROXY_AUTHZ_FAILURE on Linux; whatever fits better. Ciao, Kili _______________________________________________ Glasgow-haskell-users mailing list Glasgow-haskell-users@haskell.org http://www.haskell.org/mailman/listinfo/glasgow-haskell-users