# -*- mode: python -*- # # Unix SMB/CIFS implementation. # Module packaging setup for Samba python extensions # # Copyright (C) Tim Potter, 2002 # # This program is free software; you can redistribute it and/or modify # it under the terms of the GNU General Public License as published by # the Free Software Foundation; either version 2 of the License, or # (at your option) any later version. # # This program is distributed in the hope that it will be useful, # but WITHOUT ANY WARRANTY; without even the implied warranty of # MERCHANTABILITY or FITNESS FOR A PARTICULAR PURPOSE. See the # GNU General Public License for more details. # # You should have received a copy of the GNU General Public License # along with this program; if not, write to the Free Software # Foundation, Inc., 675 Mass Ave, Cambridge, MA 02139, USA. # from distutils.core import setup from distutils.extension import Extension import sys, string, os # The Makefile passes in environment variable $PYTHON_OBJ as being the # list of Samba objects. This kind of goes against the distutils.cmd # method of adding setup commands and will also confuse people who are # familiar with the python Distutils module. samba_objs = "" if os.environ.has_key("PYTHON_OBJS"): samba_objs = os.environ.get("PYTHON_OBJS") samba_cflags = "" if os.environ.has_key("PYTHON_CFLAGS"): samba_cflags = os.environ.get("PYTHON_CFLAGS") samba_srcdir = "" if os.environ.has_key("SRCDIR"): samba_srcdir = os.environ.get("SRCDIR") # These variables are filled in by configure samba_libs = "@LIBS@" # Convert libs and objs from space separated strings to lists of strings # for distutils to digest. Split "-l" prefix off library list. obj_list = string.split(samba_objs) lib_list = [] for lib in string.split(samba_libs): lib_list.append(string.replace(lib, "-l", "")) flags_list = string.split(samba_cflags) # Invoke distutils.setup setup( # Overview information name = "Samba Python Extensions", version = "0.1", author = "Tim Potter", author_email = "tpot@samba.org", license = "GPL", # Build info include_dirs = [samba_srcdir + '.', samba_srcdir + "include", samba_srcdir + "ubiqx", samba_srcdir + "smbwrapper", samba_srcdir + "popt", "/usr/kerberos/include", "/usr/local/include"], # Module list ext_modules = [ # SPOOLSS pipe module Extension(name = "spoolss", sources = [samba_srcdir + "python/py_spoolss.c", samba_srcdir + "python/py_common.c", samba_srcdir + "python/py_conv.c", samba_srcdir + "python/py_spoolss_forms.c", samba_srcdir + "python/py_spoolss_forms_conv.c", samba_srcdir + "python/py_spoolss_drivers.c", samba_srcdir + "python/py_spoolss_drivers_conv.c", samba_srcdir + "python/py_spoolss_printers.c", samba_srcdir + "python/py_spoolss_printers_conv.c", samba_srcdir + "python/py_spoolss_ports.c", samba_srcdir + "python/py_spoolss_ports_conv.c", ], libraries = lib_list, library_dirs = ["/usr/kerberos/lib"], extra_objects = obj_list), # LSA pipe module Extension(name = "lsa", sources = [samba_srcdir + "python/py_lsa.c", samba_srcdir + "python/py_common.c"], libraries = lib_list, library_dirs = ["/usr/kerberos/lib"], extra_objects = obj_list), # winbind client module Extension(name = "winbind", sources = [samba_srcdir + "python/py_winbind.c", samba_srcdir + "python/py_common.c"], libraries = lib_list, library_dirs = ["/usr/kerberos/lib"], extra_objects = obj_list, extra_compile_args = flags_list), ] )