diff options
author | Jussi Pakkanen <jpakkane@gmail.com> | 2012-12-26 23:39:27 +0200 |
---|---|---|
committer | Jussi Pakkanen <jpakkane@gmail.com> | 2012-12-26 23:39:27 +0200 |
commit | 649ee061298a14035d03b0e24d1c2f9d5a7992f4 (patch) | |
tree | c35e1c6dfae30515964daa3aeae2b9d3c096569b /runbuilder.py | |
parent | 4dbe7f6f34149502531c60587b565bdb3314b048 (diff) | |
download | meson-649ee061298a14035d03b0e24d1c2f9d5a7992f4.zip meson-649ee061298a14035d03b0e24d1c2f9d5a7992f4.tar.gz meson-649ee061298a14035d03b0e24d1c2f9d5a7992f4.tar.bz2 |
Renamed main file.
Diffstat (limited to 'runbuilder.py')
-rwxr-xr-x | runbuilder.py | 76 |
1 files changed, 0 insertions, 76 deletions
diff --git a/runbuilder.py b/runbuilder.py deleted file mode 100755 index 2e21527..0000000 --- a/runbuilder.py +++ /dev/null @@ -1,76 +0,0 @@ -#!/usr/bin/python3 -tt - -# Copyright 2012 Jussi Pakkanen - -# Licensed under the Apache License, Version 2.0 (the "License"); -# you may not use this file except in compliance with the License. -# You may obtain a copy of the License at - -# http://www.apache.org/licenses/LICENSE-2.0 - -# Unless required by applicable law or agreed to in writing, software -# distributed under the License is distributed on an "AS IS" BASIS, -# WITHOUT WARRANTIES OR CONDITIONS OF ANY KIND, either express or implied. -# See the License for the specific language governing permissions and -# limitations under the License. - -from optparse import OptionParser -import sys, stat -import os.path -import environment - -parser = OptionParser() - -parser.add_option('--prefix', default='/usr/local', dest='prefix') -parser.add_option('--libdir', default='lib', dest='libdir') -parser.add_option('--includedir', default='include', dest='includedir') -parser.add_option('--datadir', default='share', dest='datadir') - -class Builder(): - builder_filename = 'builder.txt' - - def __init__(self, dir1, dir2, options): - (self.source_dir, self.build_dir) = self.validate_dirs(dir1, dir2) - self.compiler = environment.GnuCCompiler('gcc') - self.compiler.sanity_check(self.build_dir) - - def has_builder_file(self, dirname): - fname = os.path.join(dirname, Builder.builder_filename) - try: - ifile = open(fname, 'r') - ifile.close() - return True - except IOError: - return False - - def validate_dirs(self, dir1, dir2): - ndir1 = os.path.abspath(dir1) - ndir2 = os.path.abspath(dir2) - if not stat.S_ISDIR(os.stat(ndir1).st_mode): - raise RuntimeError('%s is not a directory' % dir1) - if not stat.S_ISDIR(os.stat(ndir2).st_mode): - raise RuntimeError('%s is not a directory' % dir2) - self.options = options - if os.path.samefile(dir1, dir2): - raise RuntimeError('Source and build directories must not be the same. Create a pristine build directory.') - if self.has_builder_file(ndir1): - if self.has_builder_file(ndir2): - raise RuntimeError('Both directories contain a builder file %s.' % Builder.builder_filename) - return (ndir1, ndir2) - if self.has_builder_file(ndir2): - return (ndir2, ndir1) - raise RuntimeError('Neither directory contains a builder file %s.' % Builder.builder_filename) - -if __name__ == '__main__': - (options, args) = parser.parse_args(sys.argv) - if len(args) == 1 or len(args) > 3: - print('Invalid number of arguments') - sys.exit(1) - dir1 = args[1] - if len(args) > 2: - dir2 = args[2] - else: - dir2 = '.' - builder = Builder(dir1, dir2, options) - print ('Source dir: ' + builder.source_dir) - print ('Build dir: ' + builder.build_dir) |