~ubuntu-branches/ubuntu/oneiric/enigmail/oneiric-security

« back to all changes in this revision

Viewing changes to config/expandlibs.py

  • Committer: Package Import Robot
  • Author(s): Chris Coulson
  • Date: 2012-11-12 16:36:01 UTC
  • mfrom: (0.13.9)
  • Revision ID: package-import@ubuntu.com-20121112163601-8fohb2s21m2tvgmc
Tags: 2:1.4.6-0ubuntu0.11.10.1
* New upstream release v1.4.6
  - see LP: #1080212 for USN information
* Drop unneeded patches
  - remove debian/patches/correct-version-number.diff
  - remove debian/patches/dont_register_cids_multiple_times.diff
  - update debian/patches/series
* Support building in an objdir
  - update debian/rules

Show diffs side-by-side

added added

removed removed

Lines of Context:
1
 
# ***** BEGIN LICENSE BLOCK *****
2
 
# Version: MPL 1.1/GPL 2.0/LGPL 2.1
3
 
#
4
 
# The contents of this file are subject to the Mozilla Public License Version
5
 
# 1.1 (the "License"); you may not use this file except in compliance with
6
 
# the License. You may obtain a copy of the License at
7
 
# http://www.mozilla.org/MPL/
8
 
#
9
 
# Software distributed under the License is distributed on an "AS IS" basis,
10
 
# WITHOUT WARRANTY OF ANY KIND, either express or implied. See the License
11
 
# for the specific language governing rights and limitations under the
12
 
# License.
13
 
#
14
 
# The Original Code is a build helper for libraries
15
 
#
16
 
# The Initial Developer of the Original Code is
17
 
# the Mozilla Foundation
18
 
# Portions created by the Initial Developer are Copyright (C) 2011
19
 
# the Initial Developer. All Rights Reserved.
20
 
#
21
 
# Contributor(s):
22
 
# Mike Hommey <mh@glandium.org>
23
 
#
24
 
# Alternatively, the contents of this file may be used under the terms of
25
 
# either the GNU General Public License Version 2 or later (the "GPL"), or
26
 
# the GNU Lesser General Public License Version 2.1 or later (the "LGPL"),
27
 
# in which case the provisions of the GPL or the LGPL are applicable instead
28
 
# of those above. If you wish to allow use of your version of this file only
29
 
# under the terms of either the GPL or the LGPL, and not to allow others to
30
 
# use your version of this file under the terms of the MPL, indicate your
31
 
# decision by deleting the provisions above and replace them with the notice
32
 
# and other provisions required by the GPL or the LGPL. If you do not delete
33
 
# the provisions above, a recipient may use your version of this file under
34
 
# the terms of any one of the MPL, the GPL or the LGPL.
35
 
#
36
 
# ***** END LICENSE BLOCK *****
 
1
# This Source Code Form is subject to the terms of the Mozilla Public
 
2
# License, v. 2.0. If a copy of the MPL was not distributed with this
 
3
# file, You can obtain one at http://mozilla.org/MPL/2.0/.
37
4
 
38
5
'''Expandlibs is a system that allows to replace some libraries with a
39
6
descriptor file containing some linking information about them.
60
27
  rules.
61
28
'''
62
29
from __future__ import with_statement
63
 
import sys, os
 
30
import sys, os, errno
64
31
import expandlibs_config as conf
65
32
 
 
33
def ensureParentDir(file):
 
34
    '''Ensures the directory parent to the given file exists'''
 
35
    dir = os.path.dirname(file)
 
36
    if dir and not os.path.exists(dir):
 
37
        try:
 
38
            os.makedirs(dir)
 
39
        except OSError, error:
 
40
            if error.errno != errno.EEXIST:
 
41
                raise
 
42
 
66
43
def relativize(path):
67
44
    '''Returns a path relative to the current working directory, if it is
68
45
    shorter than the given path'''
149
126
            return objs
150
127
        return [arg]
151
128
 
 
129
class ExpandLibsDeps(ExpandArgs):
 
130
    '''Same as ExpandArgs, but also adds the library descriptor to the list'''
 
131
    def _expand_desc(self, arg):
 
132
        objs = super(ExpandLibsDeps, self)._expand_desc(arg)
 
133
        if os.path.exists(arg + conf.LIBS_DESC_SUFFIX):
 
134
            objs += [relativize(arg + conf.LIBS_DESC_SUFFIX)]
 
135
        return objs
 
136
 
152
137
if __name__ == '__main__':
153
138
    print " ".join(ExpandArgs(sys.argv[1:]))