2.5 KiB
Building NCC from source
Building NCC from source is easy with very few requirements to start building. At the moment ncc can only be debugged or tested by building a redistributable source and installing it.
Requirements to build
- php8.0+
- php-mbstring
- php-ctype
- php-tokenizer (or php-common)
- make
- phpab
- tar (optional)
Installing phpab
phpab is also known as PHP Autoload Builder, phpab is an open source tool used for creating autoload files, ncc needs this tool in order to generate it's autoload files whenever there's any changes to its source code.
This tool is only required for building and or creating a redistributable package of ncc. This component is not required to be installed to use ncc.
for some components that require static loading, ncc will automatically load it using it's own autoloader
The recommended way to install phpab is by using phive, if you don't have phive installed you can install it by running these commands in your terminal (from the official documentation)
wget -O phive.phar https://phar.io/releases/phive.phar
wget -O phive.phar.asc https://phar.io/releases/phive.phar.asc
gpg --keyserver hkps://keys.openpgp.org --recv-keys 0x9D8A98B29B2D5D79
gpg --verify phive.phar.asc phive.phar
chmod +x phive.phar
sudo mv phive.phar /usr/local/bin/phive
Once phive is installed, you can run the final command to install phpab
phive install phpab
Note: Optionally, you may want to have phab
available in your
$PATH
, this can be done with this command. (Replace x.xx.x
with your
version number)
ln -s /home/user/.phive/phars/phpab-x.xx.x.phar /usr/bin/phpab
Building NCC
First, navigate to the main directory of NCC's source code
where the Makefile is present. If you
already attempted to or had built ncc before, it's
recommended to use make clean
before building.
Redist
Running redist
from the Makefile will generate all the
required autoloaders for ncc and move all the required
files into one redistributable source folder under a
directory called build/src
make redist
Tar
Running tar
will run redist before packaging the
redistributable source into a tar.gz file that can
be distributed to other machines, this process is not
a requirement.
make tar
Once you have a populated build/src
folder, you can
simply run execute the installer
file to install your
build of ncc onto the running machine.