~ubuntu-branches/ubuntu/saucy/xmms2/saucy

« back to all changes in this revision

Viewing changes to waflib/Tools/gcc.py

  • Committer: Package Import Robot
  • Author(s): Benjamin Drung
  • Date: 2012-02-07 17:18:39 UTC
  • mfrom: (38.1.3 sid)
  • Revision ID: package-import@ubuntu.com-20120207171839-89fyv03s32fwoa3h
Tags: 0.8+dfsg-2
* Unpack waf binary (following http://wiki.debian.org/UnpackWaf)
  (Closes: #654512).
* Remove transitional xmms2-plugin-wma package.

Show diffs side-by-side

added added

removed removed

Lines of Context:
 
1
#! /usr/bin/env python
 
2
# encoding: utf-8
 
3
# WARNING! Do not edit! http://waf.googlecode.com/svn/docs/wafbook/single.html#_obtaining_the_waf_file
 
4
 
 
5
import os,sys
 
6
from waflib import Configure,Options,Utils
 
7
from waflib.Tools import ccroot,ar
 
8
from waflib.Configure import conf
 
9
def find_gcc(conf):
 
10
        cc=conf.find_program(['gcc','cc'],var='CC')
 
11
        cc=conf.cmd_to_list(cc)
 
12
        conf.get_cc_version(cc,gcc=True)
 
13
        conf.env.CC_NAME='gcc'
 
14
        conf.env.CC=cc
 
15
def gcc_common_flags(conf):
 
16
        v=conf.env
 
17
        v['CC_SRC_F']=[]
 
18
        v['CC_TGT_F']=['-c','-o']
 
19
        if not v['LINK_CC']:v['LINK_CC']=v['CC']
 
20
        v['CCLNK_SRC_F']=[]
 
21
        v['CCLNK_TGT_F']=['-o']
 
22
        v['CPPPATH_ST']='-I%s'
 
23
        v['DEFINES_ST']='-D%s'
 
24
        v['LIB_ST']='-l%s'
 
25
        v['LIBPATH_ST']='-L%s'
 
26
        v['STLIB_ST']='-l%s'
 
27
        v['STLIBPATH_ST']='-L%s'
 
28
        v['RPATH_ST']='-Wl,-rpath,%s'
 
29
        v['SONAME_ST']='-Wl,-h,%s'
 
30
        v['SHLIB_MARKER']='-Wl,-Bdynamic'
 
31
        v['STLIB_MARKER']='-Wl,-Bstatic'
 
32
        v['cprogram_PATTERN']='%s'
 
33
        v['CFLAGS_cshlib']=['-fPIC']
 
34
        v['LINKFLAGS_cshlib']=['-shared']
 
35
        v['cshlib_PATTERN']='lib%s.so'
 
36
        v['LINKFLAGS_cstlib']=['-Wl,-Bstatic']
 
37
        v['cstlib_PATTERN']='lib%s.a'
 
38
        v['LINKFLAGS_MACBUNDLE']=['-bundle','-undefined','dynamic_lookup']
 
39
        v['CFLAGS_MACBUNDLE']=['-fPIC']
 
40
        v['macbundle_PATTERN']='%s.bundle'
 
41
def gcc_modifier_win32(conf):
 
42
        v=conf.env
 
43
        v['cprogram_PATTERN']='%s.exe'
 
44
        v['cshlib_PATTERN']='%s.dll'
 
45
        v['implib_PATTERN']='lib%s.dll.a'
 
46
        v['IMPLIB_ST']='-Wl,--out-implib,%s'
 
47
        v['CFLAGS_cshlib']=[]
 
48
        v.append_value('CFLAGS_cshlib',['-DDLL_EXPORT'])
 
49
        v.append_value('LINKFLAGS',['-Wl,--enable-auto-import'])
 
50
def gcc_modifier_cygwin(conf):
 
51
        gcc_modifier_win32(conf)
 
52
        v=conf.env
 
53
        v['cshlib_PATTERN']='cyg%s.dll'
 
54
        v.append_value('LINKFLAGS_cshlib',['-Wl,--enable-auto-image-base'])
 
55
        v['CFLAGS_cshlib']=[]
 
56
def gcc_modifier_darwin(conf):
 
57
        v=conf.env
 
58
        v['CFLAGS_cshlib']=['-fPIC','-compatibility_version','1','-current_version','1']
 
59
        v['LINKFLAGS_cshlib']=['-dynamiclib']
 
60
        v['cshlib_PATTERN']='lib%s.dylib'
 
61
        v['FRAMEWORKPATH_ST']='-F%s'
 
62
        v['FRAMEWORK_ST']=['-framework']
 
63
        v['ARCH_ST']=['-arch']
 
64
        v['LINKFLAGS_cstlib']=[]
 
65
        v['SHLIB_MARKER']=[]
 
66
        v['STLIB_MARKER']=[]
 
67
        v['SONAME_ST']=[]
 
68
def gcc_modifier_aix(conf):
 
69
        v=conf.env
 
70
        v['LINKFLAGS_cprogram']=['-Wl,-brtl']
 
71
        v['LINKFLAGS_cshlib']=['-shared','-Wl,-brtl,-bexpfull']
 
72
        v['SHLIB_MARKER']=[]
 
73
def gcc_modifier_hpux(conf):
 
74
        v=conf.env
 
75
        v['SHLIB_MARKER']=[]
 
76
        v['CFLAGS_cshlib']=['-fPIC','-DPIC']
 
77
        v['cshlib_PATTERN']='lib%s.sl'
 
78
def gcc_modifier_platform(conf):
 
79
        gcc_modifier_func=getattr(conf,'gcc_modifier_'+conf.env.DEST_OS,None)
 
80
        if gcc_modifier_func:
 
81
                gcc_modifier_func()
 
82
def configure(conf):
 
83
        conf.find_gcc()
 
84
        conf.find_ar()
 
85
        conf.gcc_common_flags()
 
86
        conf.gcc_modifier_platform()
 
87
        conf.cc_load_tools()
 
88
        conf.cc_add_flags()
 
89
        conf.link_add_flags()
 
90
 
 
91
conf(find_gcc)
 
92
conf(gcc_common_flags)
 
93
conf(gcc_modifier_win32)
 
94
conf(gcc_modifier_cygwin)
 
95
conf(gcc_modifier_darwin)
 
96
conf(gcc_modifier_aix)
 
97
conf(gcc_modifier_hpux)
 
98
conf(gcc_modifier_platform)
 
 
b'\\ No newline at end of file'