summaryrefslogtreecommitdiffstats
path: root/src
diff options
context:
space:
mode:
authorSteven Knight <knight@baldmt.com>2001-11-16 22:06:52 (GMT)
committerSteven Knight <knight@baldmt.com>2001-11-16 22:06:52 (GMT)
commit76166c77f852377b6139a9414cc355fe2661a0e7 (patch)
treefe77db2a491d0f8f0aa6c743c1e1f5b21a1914ed /src
parent9508d219188fcd2ad8eb2d24606d1b9c611e9ed2 (diff)
downloadSCons-76166c77f852377b6139a9414cc355fe2661a0e7.zip
SCons-76166c77f852377b6139a9414cc355fe2661a0e7.tar.gz
SCons-76166c77f852377b6139a9414cc355fe2661a0e7.tar.bz2
Add the scons package.
Diffstat (limited to 'src')
-rw-r--r--src/MANIFEST.in0
-rw-r--r--src/README.txt162
-rw-r--r--src/engine/MANIFEST.in (renamed from src/engine/MANIFEST)3
-rw-r--r--src/engine/README.txt161
-rw-r--r--src/engine/setup.cfg2
-rw-r--r--src/engine/setup.py24
-rw-r--r--src/script/MANIFEST4
-rw-r--r--src/script/MANIFEST.in1
-rw-r--r--src/script/README.txt163
-rw-r--r--src/script/scons.py6
-rw-r--r--src/script/setup.cfg2
-rw-r--r--src/script/setup.py11
-rw-r--r--src/setup.cfg2
-rw-r--r--src/setup.py72
14 files changed, 599 insertions, 14 deletions
diff --git a/src/MANIFEST.in b/src/MANIFEST.in
new file mode 100644
index 0000000..e69de29
--- /dev/null
+++ b/src/MANIFEST.in
diff --git a/src/README.txt b/src/README.txt
new file mode 100644
index 0000000..1539f72
--- /dev/null
+++ b/src/README.txt
@@ -0,0 +1,162 @@
+# Copyright (c) 2001 Steven Knight
+# __FILE__ __REVISION__ __DATE__ __DEVELOPER__
+
+
+ SCons - a software construction tool
+
+ Version __VERSION__
+
+
+This is an alpha release of SCons, a tool for building software (and
+other files). SCons is implemented in Python, and its "configuration
+files" are actually Python scripts, allowing you to use the full power
+of a real scripting language to solve build problems. You do not,
+however, need to know Python to use SCons effectively.
+
+
+LATEST VERSION
+==============
+
+Before going further, you can check that this package you have is
+the latest version by checking the SCons download page at:
+
+ http://www.scons.org/download.html
+
+
+ABOUT SCONS PACKAGES
+====================
+
+The complete SCons system is comprised of three separate packages:
+
+ scons [THIS PACKAGE]
+ The scons script itself, plus the SCons build engine
+ installed into an SCons-specific library directory.
+
+ python-scons
+ The SCons build engine, installed into the standard
+ Python library directory.
+
+ scons-script
+ Only the scons script itself.
+
+Depending on what you want to do with SCons, you may need to install
+additional (or other) packages:
+
+ If you just want to use scons (the script) to build software:
+
+ Install this package. You do not need to install any other
+ packages.
+
+ If you do NOT want to use the scons script, but you want to use the
+ SCons build engine in other Python software:
+
+ Do NOT install this package. Install the python-scons package
+ instead.
+
+ If you want to use the scons script AND you want to use the SCons
+ build engine in other Python software:
+
+ Install this package AND install the python-scons package.
+
+ Note that this installs two separate copies of the build engine,
+ one (in an SCons-specific library directory) used by the scons
+ script itself and one (in the standard Python library) used by
+ other software. This allows you the flexibility to upgrade
+ one build engine without affecting the other.
+
+ If you want the scons script and other Python software to use the
+ same version of the build engine:
+
+ Do NOT install this package. Install the python-scons AND the
+ scons-script packages instead.
+
+
+INSTALLATION
+============
+
+To install this package, simply run the provided Python-standard setup
+script as follows:
+
+ # python setup.py
+
+You should have system installation privileges (that is, "root" or
+"Administrator") when running the setup.py script.
+
+
+DOCUMENTATION
+=============
+
+Documentation for SCons is available at:
+
+ http://www.scons.org/doc.html
+
+
+LICENSING
+=========
+
+SCons is distributed under the MIT license, a full copy of which is
+available in the LICENSE.txt file. The MIT license is an approved Open
+Source license, which means:
+
+ This software is OSI Certified Open Source Software. OSI
+ Certified is a certification mark of the Open Source Initiative.
+
+More information about OSI certifications and Open Source software is
+available at:
+
+ http://www.opensource.org/
+
+
+REPORTING BUGS
+==============
+
+You can report bugs either by following the "Tracker - Bugs" link
+on the SCons project page:
+
+ http://sourceforge.net/projects/scons/
+
+or by sending mail to the SCons developers mailing list:
+
+ scons-devel@lists.sourceforge.net
+
+
+MAILING LISTS
+=============
+
+A mailing list for users of SCons is available. You may send
+questions or comments to the list at:
+
+ scons-users@lists.sourceforge.net
+
+You may subscribe to the mailing list at:
+
+ http://lists.sourceforge.net/lists/listinfo/scons-users
+
+There is also a low-volume mailing list available for announcements
+about SCons. Subscribe at:
+
+ http://lists.sourceforge.net/lists/listinfo/scons-announce
+
+
+FOR MORE INFORMATION
+====================
+
+Check the SCons web site at:
+
+ http://www.scons.org/
+
+
+AUTHOR INFO
+===========
+
+Steven Knight
+knight at baldmt dot com
+http://www.baldmt.com/~knight/
+
+With more than a little help from:
+ Chad Austin
+ Charles Crain
+ Steve Leblanc
+ Anthony Roach
+ Steven Shaw
+
diff --git a/src/engine/MANIFEST b/src/engine/MANIFEST.in
index af9d531..a79a059 100644
--- a/src/engine/MANIFEST
+++ b/src/engine/MANIFEST.in
@@ -1,5 +1,3 @@
-LICENSE.txt
-MANIFEST
SCons/__init__.py
SCons/Builder.py
SCons/Defaults.py
@@ -16,4 +14,3 @@ SCons/Sig/MD5.py
SCons/Sig/TimeStamp.py
SCons/Taskmaster.py
SCons/Util.py
-setup.py
diff --git a/src/engine/README.txt b/src/engine/README.txt
new file mode 100644
index 0000000..b33fe72
--- /dev/null
+++ b/src/engine/README.txt
@@ -0,0 +1,161 @@
+# Copyright (c) 2001 Steven Knight
+# __FILE__ __REVISION__ __DATE__ __DEVELOPER__
+
+
+ SCons - a software construction tool
+
+ Version __VERSION__
+
+
+This is an alpha release of the SCons build engine, a Python extension
+module for building software (and other files). The SCons build engine
+manages dependencies and executes commands or Python functions to update
+out-of-date files (or other objects).
+
+
+LATEST VERSION
+==============
+
+Before going further, you can check that this package you have is
+the latest version by checking the SCons download page at:
+
+ http://www.scons.org/download.html
+
+
+ABOUT SCONS PACKAGES
+====================
+
+The complete SCons system is comprised of three separate packages:
+
+ scons
+ The scons script itself, plus the SCons build engine
+ installed into an SCons-specific library directory.
+
+ python-scons [THIS PACKAGE]
+ The SCons build engine, installed into the standard
+ Python library directory.
+
+ scons-script
+ Only the scons script itself.
+
+Depending on what you want to do with SCons, you may need to install
+additional (or other) packages:
+
+ If you just want to use scons (the script) to build software:
+
+ Do not install this package. Install the scons package instead,
+ which contains a copy of both the script and the build engine.
+ You will not need to install any other packages.
+
+ If you do NOT want to use the scons script, but you want to use the
+ SCons build engine in other Python software:
+
+ Install this package. You do not need to install any other
+ packages.
+
+ If you want to use the scons script AND you want to use the SCons
+ build engine in other Python software:
+
+ Install this package AND the scons package.
+
+ Note that this installs two separate copies of the build engine,
+ one (in an SCons-specific library directory) used by the scons
+ script itself and one (in the standard Python library) used by
+ other software. This allows you the flexibility to upgrade
+ one build engine without affecting the other.
+
+ If you want the scons script and other Python software to use the
+ same version of the build engine:
+
+ Install this package AND the scons-script package.
+
+
+INSTALLATION
+============
+
+To install this package, simply run the provided Python-standard setup
+script as follows:
+
+ # python setup.py
+
+You should have system installation privileges (that is, "root" or
+"Administrator") when running the setup.py script.
+
+
+DOCUMENTATION
+=============
+
+Documentation for SCons is available at:
+
+ http://www.scons.org/doc.html
+
+
+LICENSING
+=========
+
+SCons is distributed under the MIT license, a full copy of which is
+available in the LICENSE.txt file. The MIT license is an approved Open
+Source license, which means:
+
+ This software is OSI Certified Open Source Software. OSI
+ Certified is a certification mark of the Open Source Initiative.
+
+More information about OSI certifications and Open Source software is
+available at:
+
+ http://www.opensource.org/
+
+
+REPORTING BUGS
+==============
+
+You can report bugs either by following the "Tracker - Bugs" link
+on the SCons project page:
+
+ http://sourceforge.net/projects/scons/
+
+or by sending mail to the SCons developers mailing list:
+
+ scons-devel@lists.sourceforge.net
+
+
+MAILING LISTS
+=============
+
+A mailing list for users of SCons is available. You may send
+questions or comments to the list at:
+
+ scons-users@lists.sourceforge.net
+
+You may subscribe to the mailing list at:
+
+ http://lists.sourceforge.net/lists/listinfo/scons-users
+
+There is also a low-volume mailing list available for announcements
+about SCons. Subscribe at:
+
+ http://lists.sourceforge.net/lists/listinfo/scons-announce
+
+
+FOR MORE INFORMATION
+====================
+
+Check the SCons web site at:
+
+ http://www.scons.org/
+
+
+AUTHOR INFO
+===========
+
+Steven Knight
+knight at baldmt dot com
+http://www.baldmt.com/~knight/
+
+With more than a little help from:
+ Chad Austin
+ Charles Crain
+ Steve Leblanc
+ Anthony Roach
+ Steven Shaw
+
diff --git a/src/engine/setup.cfg b/src/engine/setup.cfg
new file mode 100644
index 0000000..94ede1f
--- /dev/null
+++ b/src/engine/setup.cfg
@@ -0,0 +1,2 @@
+[bdist_rpm]
+group = Development/Tools
diff --git a/src/engine/setup.py b/src/engine/setup.py
index ed097b1..3d51b0e 100644
--- a/src/engine/setup.py
+++ b/src/engine/setup.py
@@ -33,14 +33,34 @@ if head:
os.chdir(head)
sys.argv[0] = tail
+# Code to figure out the package name from the current directory.
+# May come in handy to allow this setup.py to switch-hit between
+# python-scons and python2-scons.
+#head, package = os.path.split(os.getcwd())
+#suffix = "-__VERSION__"
+#if package[-len(suffix):] == suffix:
+# package = package[:-len(suffix)]
+
+package = 'python-scons'
+
from distutils.core import setup
-setup(name = "scons-pylib",
+ver = {
+ 'python-scons': '1.5',
+ 'python2-scons': '2.1',
+}
+
+setup(name = package,
version = "__VERSION__",
- description = "scons",
+ description = "SCons Python %s extension modules" % ver[package],
+ long_description = """SCons is an Open Source software construction tool--that is, a build tool; an
+improved substitute for the classic Make utility; a better way to build
+software.""",
author = "Steven Knight",
author_email = "knight@baldmt.com",
url = "http://www.scons.org/",
+ licence = "MIT, freely distributable",
+ keywords = "scons, cons, make, build tool, make tool",
packages = ["SCons",
"SCons.Node",
"SCons.Scanner",
diff --git a/src/script/MANIFEST b/src/script/MANIFEST
deleted file mode 100644
index b2315d1..0000000
--- a/src/script/MANIFEST
+++ /dev/null
@@ -1,4 +0,0 @@
-LICENSE.txt
-MANIFEST
-scons
-setup.py
diff --git a/src/script/MANIFEST.in b/src/script/MANIFEST.in
new file mode 100644
index 0000000..ebff829
--- /dev/null
+++ b/src/script/MANIFEST.in
@@ -0,0 +1 @@
+scons
diff --git a/src/script/README.txt b/src/script/README.txt
new file mode 100644
index 0000000..6f1ef71
--- /dev/null
+++ b/src/script/README.txt
@@ -0,0 +1,163 @@
+# Copyright (c) 2001 Steven Knight
+# __FILE__ __REVISION__ __DATE__ __DEVELOPER__
+
+
+ SCons - a software construction tool
+
+ Version __VERSION__
+
+
+This is an alpha release of SCons, a tool for building software (and
+other files). SCons is implemented in Python, and its "configuration
+files" are actually Python scripts, allowing you to use the full power
+of a real scripting language to solve build problems. You do not,
+however, need to know Python to use SCons effectively.
+
+
+LATEST VERSION
+==============
+
+Before going further, you can check that this package you have is
+the latest version by checking the SCons download page at:
+
+ http://www.scons.org/download.html
+
+
+ABOUT SCONS PACKAGES
+====================
+
+The complete SCons system is comprised of three separate packages:
+
+ scons
+ The scons script itself, plus the SCons build engine
+ installed into an SCons-specific library directory.
+
+ python-scons
+ The SCons build engine, installed into the standard
+ Python library directory.
+
+ scons-script [THIS PACKAGE]
+ Only the scons script itself.
+
+Depending on what you want to do with SCons, you may need to install
+additional (or other) packages:
+
+ If you just want to use scons (the script) to build software:
+
+ Do NOT install this package. Install the scons package instead,
+ which contains a copy of both the script and the build engine.
+ You will not need to install any other packages.
+
+ If you do NOT want to use the scons script, but you want to use the
+ SCons build engine in other Python software:
+
+ Do NOT install this package. Install the python-scons package
+ instead.
+
+ If you want to use the scons script AND you want to use the SCons
+ build engine in other Python software:
+
+ Do NOT install this package. Install both the scons and
+ python-scons packages instead.
+
+ Note that this installs two separate copies of the build engine,
+ one (in an SCons-specific library directory) used by the scons
+ script itself and one (in the standard Python library) used by
+ other software. This allows you the flexibility to upgrade
+ one build engine without affecting the other.
+
+ If you want the scons script and other Python software to use the
+ same version of the build engine:
+
+ Install this package AND the python-scons package.
+
+
+INSTALLATION
+============
+
+To install this package, simply run the provided Python-standard setup
+script as follows:
+
+ # python setup.py
+
+You should have system installation privileges (that is, "root" or
+"Administrator") when running the setup.py script.
+
+
+DOCUMENTATION
+=============
+
+Documentation for SCons is available at:
+
+ http://www.scons.org/doc.html
+
+
+LICENSING
+=========
+
+SCons is distributed under the MIT license, a full copy of which is
+available in the LICENSE.txt file. The MIT license is an approved Open
+Source license, which means:
+
+ This software is OSI Certified Open Source Software. OSI
+ Certified is a certification mark of the Open Source Initiative.
+
+More information about OSI certifications and Open Source software is
+available at:
+
+ http://www.opensource.org/
+
+
+REPORTING BUGS
+==============
+
+You can report bugs either by following the "Tracker - Bugs" link
+on the SCons project page:
+
+ http://sourceforge.net/projects/scons/
+
+or by sending mail to the SCons developers mailing list:
+
+ scons-devel@lists.sourceforge.net
+
+
+MAILING LISTS
+=============
+
+A mailing list for users of SCons is available. You may send
+questions or comments to the list at:
+
+ scons-users@lists.sourceforge.net
+
+You may subscribe to the mailing list at:
+
+ http://lists.sourceforge.net/lists/listinfo/scons-users
+
+There is also a low-volume mailing list available for announcements
+about SCons. Subscribe at:
+
+ http://lists.sourceforge.net/lists/listinfo/scons-announce
+
+
+FOR MORE INFORMATION
+====================
+
+Check the SCons web site at:
+
+ http://www.scons.org/
+
+
+AUTHOR INFO
+===========
+
+Steven Knight
+knight at baldmt dot com
+http://www.baldmt.com/~knight/
+
+With more than a little help from:
+ Chad Austin
+ Charles Crain
+ Steve Leblanc
+ Anthony Roach
+ Steven Shaw
+
diff --git a/src/script/scons.py b/src/script/scons.py
index 49a8467..3ee8abd 100644
--- a/src/script/scons.py
+++ b/src/script/scons.py
@@ -35,8 +35,10 @@ import traceback
# Strip the script directory from sys.path() so on case-insensitive
# (WIN32) systems Python doesn't think that the "scons" script is the
-# "SCons" package.
-sys.path = sys.path[1:]
+# "SCons" package. Replace it with our own version directory so, if
+# if they're there, we pick up the right version of the build engine
+# modules.
+sys.path = [os.path.join(sys.prefix, 'lib', 'scons-__VERSION__')] + sys.path[1:]
import SCons.Node
import SCons.Node.FS
diff --git a/src/script/setup.cfg b/src/script/setup.cfg
new file mode 100644
index 0000000..94ede1f
--- /dev/null
+++ b/src/script/setup.cfg
@@ -0,0 +1,2 @@
+[bdist_rpm]
+group = Development/Tools
diff --git a/src/script/setup.py b/src/script/setup.py
index a3eace7..2835cdf 100644
--- a/src/script/setup.py
+++ b/src/script/setup.py
@@ -35,10 +35,15 @@ if head:
from distutils.core import setup
-setup(name = "scons",
+setup(name = "scons-script",
version = "__VERSION__",
- description = "scons",
+ description = "an Open Source software construction tool script",
+ long_description = """SCons is an Open Source software construction tool--that is, a build tool; an
+improved substitute for the classic Make utility; a better way to build
+software.""",
author = "Steven Knight",
author_email = "knight@baldmt.com",
- url = "http://www.baldmt.com/scons",
+ url = "http://www.scons.org/",
+ licence = "MIT, freely distributable",
+ keywords = "scons, cons, make, build tool, make tool",
scripts = ["scons"])
diff --git a/src/setup.cfg b/src/setup.cfg
new file mode 100644
index 0000000..94ede1f
--- /dev/null
+++ b/src/setup.cfg
@@ -0,0 +1,2 @@
+[bdist_rpm]
+group = Development/Tools
diff --git a/src/setup.py b/src/setup.py
new file mode 100644
index 0000000..f256e22
--- /dev/null
+++ b/src/setup.py
@@ -0,0 +1,72 @@
+#
+# Copyright (c) 2001 Steven Knight
+#
+# Permission is hereby granted, free of charge, to any person obtaining
+# a copy of this software and associated documentation files (the
+# "Software"), to deal in the Software without restriction, including
+# without limitation the rights to use, copy, modify, merge, publish,
+# distribute, sublicense, and/or sell copies of the Software, and to
+# permit persons to whom the Software is furnished to do so, subject to
+# the following conditions:
+#
+# The above copyright notice and this permission notice shall be included
+# in all copies or substantial portions of the Software.
+#
+# THE SOFTWARE IS PROVIDED "AS IS", WITHOUT WARRANTY OF ANY
+# KIND, EXPRESS OR IMPLIED, INCLUDING BUT NOT LIMITED TO THE
+# WARRANTIES OF MERCHANTABILITY, FITNESS FOR A PARTICULAR PURPOSE AND
+# NONINFRINGEMENT. IN NO EVENT SHALL THE AUTHORS OR COPYRIGHT HOLDERS BE
+# LIABLE FOR ANY CLAIM, DAMAGES OR OTHER LIABILITY, WHETHER IN AN ACTION
+# OF CONTRACT, TORT OR OTHERWISE, ARISING FROM, OUT OF OR IN CONNECTION
+# WITH THE SOFTWARE OR THE USE OR OTHER DEALINGS IN THE SOFTWARE.
+#
+
+__revision__ = "__FILE__ __REVISION__ __DATE__ __DEVELOPER__"
+
+import os
+import os.path
+import sys
+
+(head, tail) = os.path.split(sys.argv[0])
+
+if head:
+ os.chdir(head)
+ sys.argv[0] = tail
+
+from distutils.core import setup
+from distutils.command.install_lib import install_lib
+
+class my_install_lib(install_lib):
+ def finalize_options(self):
+ install_lib.finalize_options(self)
+ head = self.install_dir
+ while head:
+ if head == os.sep:
+ head = None
+ break
+ else:
+ head, tail = os.path.split(head)
+ open("/dev/tty", 'w').write("head = " + head + "\n")
+ if tail[:6] in ["python", "Python"]:
+ break
+ if head:
+ self.install_dir = os.path.join(head, "scons-__VERSION__")
+
+setup(name = "scons",
+ version = "__VERSION__",
+ description = "an Open Source software construction tool",
+ long_description = """SCons is an Open Source software construction tool--that is, a build tool; an
+improved substitute for the classic Make utility; a better way to build
+software.""",
+ author = "Steven Knight",
+ author_email = "knight@baldmt.com",
+ url = "http://www.scons.org/",
+ license = "MIT, freely distributable",
+ keywords = "scons, cons, make, build tool, make tool",
+ packages = ["SCons",
+ "SCons.Node",
+ "SCons.Scanner",
+ "SCons.Sig"],
+ package_dir = {'': 'engine'},
+ scripts = ["script/scons"],
+ cmdclass = {'install_lib': my_install_lib})