From 0040fbea18c0cd0705ad9b3446ccd380f5025a86 Mon Sep 17 00:00:00 2001 From: Sei Lisa Date: Mon, 20 Dec 2021 18:36:34 +0100 Subject: [PATCH] Update build system - build-aux.py: - Remove commented line - Expose '-' for stdin/stdout in setvars (it was implemented but not exposed) - Makefile: - Default to gcpp as preprocessor instead of mcpp. - BUILD_GUIDE.md: - Now both Python 2 and 3 can be used, so remove the version requirement. - mcpp is not available in precompiled form for newer Mac processors, so indicate cpp instead. - Explain how to modify Makefile for mcpp. - Other minor changes --- AVsitter2/BUILD_GUIDE.md | 20 +++++++++++--------- AVsitter2/Makefile | 10 +++++----- AVsitter2/build-aux.py | 4 ++-- 3 files changed, 18 insertions(+), 16 deletions(-) diff --git a/AVsitter2/BUILD_GUIDE.md b/AVsitter2/BUILD_GUIDE.md index d6ca48b..ccaee28 100644 --- a/AVsitter2/BUILD_GUIDE.md +++ b/AVsitter2/BUILD_GUIDE.md @@ -7,27 +7,29 @@ To create a release version like the ones available for download, you need to ha ### For Linux - **zip**. It comes in most distributions, e.g. for Debian or Ubuntu use `sudo apt-get install zip`; if it isn't available in yours, try this link: -- **Python 2.7**. It comes in most distributions, e.g. for Debian or Ubuntu use `sudo apt-get install python`; if it isn't available in yours, try this link: . **Important:** Python 3.x won't work; only Python 2.x will. Usually Python 2 and Python 3 can be installed side-by-side. -- **make**. It comes in most distributions, e.g. for Debian or Ubuntu use `sudo apt-get install make`; if it isn't available in yours, try this link: -- **GNU cpp**. It comes in most distributions, e.g. for Debian or Ubuntu use `sudo apt-get install cpp`. If it isn't available in yours, or you have trouble installing it, you can instead use **mcpp**, which is much more lightweight and is included in most distributions. It is also available at this link: . +- **Python**. It comes in most distributions, e.g. for Debian or Ubuntu use `sudo apt-get install python`; if it isn't available in yours, try this link: . +- **make**. It comes in most distributions, e.g. for Debian or Ubuntu use `sudo apt-get install make`; if it isn't available in yours, try this link: . +- **GNU cpp**. It comes in most distributions, e.g. for Debian or Ubuntu use `sudo apt-get install cpp`. If it isn't available in yours, or you have trouble installing it, you can instead use **mcpp**, which is much more lightweight and is included in most distributions. It is also available at this link: . **gcpp** comes preconfigured by default in Makefile. For **mcpp**, you need to set `PREPROC_KIND=mcpp` and `PREPROC_PATH=mcpp` in the Makefile. - [**LSL-PyOptimizer**](https://github.com/Sei-Lisa/LSL-PyOptimizer). Currently the latest master branch is used to create the releases, which you can download by clicking on the `Code` button near the top right of the linked page. ### For Mac OS/X - **zip** (comes preinstalled) -- **Python 2.7** (comes preinstalled) **Important:** Python 3.x won't work; only Python 2.x will. -- **make** - It comes as part of **Xcode** which you can get for free from the App Store. -- [**mcpp**](http://mcpp.sourceforge.net/download.html). There's a DMG for download. +- **Python** (comes preinstalled) +- **make** - It comes as part of the command line develompent tools (Xcode) which you can install for free. Open a terminal and type `make`; if you don't have it installed, it will prompt you to install it. Xcode can also be installed manually from . +- **cpp** - Should come as part of the command line development tools where **make** is. - [**LSL-PyOptimizer**](https://github.com/Sei-Lisa/LSL-PyOptimizer). Currently the latest master branch is used to create the releases, which you can download by clicking on the `Code` button near the top right of the linked page. -### For Windows +### For Windows (x86) - [**zip**](http://www.info-zip.org/Zip.html#Downloads) -- [**Python 2.7**](https://www.python.org/downloads/) **Important:** Python 3.x won't work; only Python 2.x will. +- [**Python**](https://www.python.org/downloads/) - [**make**](http://gnuwin32.sourceforge.net/packages/make.htm#download) -- [**mcpp**](http://mcpp.sourceforge.net/download.html) +- [**mcpp**](http://mcpp.sourceforge.net/download.html). `Makefile` comes preconfigured for **gcpp**, therefore you need to edit it by setting `PREPROC_KIND=mcpp` and `PREPROC_PATH=\full\path\to\mcpp`. - [**LSL-PyOptimizer**](https://github.com/Sei-Lisa/LSL-PyOptimizer). Currently the latest master branch is used to create the releases, which you can download by clicking on the `Code` button near the top right of the linked page. +For processors other than x86, you need to find the above utilities for your processor. + ## Creating the release Once you have the required tools, edit the Makefile in the AVsitter2 folder to suit your needs, then using a terminal (also called command interpreter, shell, console... depending on the operating system) change to that folder using `cd ` and type `make`. That should generate a file called `AVsitter2.zip` with the packaged version for SL, and another file called `AVsitter2-oss.zip` with the packaged version for OpenSim. diff --git a/AVsitter2/Makefile b/AVsitter2/Makefile index a68a85a..0a6e11a 100644 --- a/AVsitter2/Makefile +++ b/AVsitter2/Makefile @@ -2,18 +2,18 @@ # Full path to Python. For Windows this is typically # C:\Python27\python.exe; if it is in your path you don't need to change it. -PYTHON=python +PYTHON=python3 # Full path to main.py in the optimizer. Depends on where it was unpacked. OPTIMIZER=/l/pyoptimizer/main.py -# Which preprocessor to use. Use 'gcpp' for GNU cpp (typical on Linux); +# Which preprocessor to use. Use 'gcpp' for GNU cpp (typical on Linux/OSX); # use 'mcpp' for mcpp. -PREPROC_KIND=mcpp +PREPROC_KIND=gcpp # Full path to the preprocessor. Depends on where you have downloaded it. -# If the preprocessor is mcpp and it is in your path, you can leave it as is. -PREPROC_PATH=mcpp +# If the preprocessor is GNU cpp and it is in your path, leave it as cpp. +PREPROC_PATH=cpp # Full path to the zip program (zip.exe for Windows). Depends on where you # have downloaded it. If it is in your path you don't need to change it. diff --git a/AVsitter2/build-aux.py b/AVsitter2/build-aux.py index 303c85d..9875281 100644 --- a/AVsitter2/build-aux.py +++ b/AVsitter2/build-aux.py @@ -101,7 +101,6 @@ def setvars(filename, *settings): return 1 values[match.group(1)] = match.group(2) - #sys.stderr.write(filename + '\n') if filename is not None: f = open(filename, "r") else: @@ -167,7 +166,8 @@ def main(argc, argv): return rm(argv[2:]) if cmd == 'setvars': - return setvars(argv[2], *argv[3:]) + filename = None if argv[2] == '-' else argv[2] + return setvars(filename, *argv[3:]) if cmd == 'oss-process': if argc > 3: