diff --git a/.gitignore b/.gitignore index 52dde98ed43b..cc811fcc5a61 100644 --- a/.gitignore +++ b/.gitignore @@ -290,6 +290,11 @@ tmp-php.ini /junit.out.xml /.ccache/ +# ------------------------------------------------------------------------------ +# Intellij IDEA configuration directory +# ------------------------------------------------------------------------------ +/.idea + # ------------------------------------------------------------------------------ # Special cases to invert previous ignore patterns # ------------------------------------------------------------------------------ diff --git a/README.md b/README.md index c5376f67725c..eb2a49f738ab 100644 --- a/README.md +++ b/README.md @@ -42,28 +42,49 @@ a default build, you will additionally need libxml2 and libsqlite3. On Ubuntu, you can install these using: - sudo apt install -y pkg-config build-essential autoconf bison re2c \ - libxml2-dev libsqlite3-dev +```shell +sudo apt install -y pkg-config build-essential autoconf bison re2c libxml2-dev libsqlite3-dev +``` + +On MacOS, you can install these using: + +```shell +brew install autoconf bison re2c iconv libxml2 sqlite +``` On Fedora, you can install these using: - sudo dnf install re2c bison autoconf make libtool ccache libxml2-devel sqlite-devel +```shell +sudo dnf install re2c bison autoconf make libtool ccache libxml2-devel sqlite-devel +``` Generate configure: - ./buildconf +```shell +./buildconf +``` Configure your build. `--enable-debug` is recommended for development, see `./configure --help` for a full list of options. - # For development - ./configure --enable-debug - # For production - ./configure +```shell +# For development +./configure --enable-debug +# For production +./configure +``` + +Build PHP. To speed up the build, specify the maximum number of jobs using `-j` argument: -Build PHP. To speed up the build, specify the maximum number of jobs using `-j`: +On Windows: +```shell +make -j4 +``` - make -j4 +On Unix system: +```shell +make -j$(nproc) +``` The number of jobs should usually match the number of available cores, which can be determined using `nproc`. @@ -76,11 +97,19 @@ successful compilation of the sources to run this test suite. It is possible to run tests using multiple cores by setting `-jN` in `TEST_PHP_ARGS`: - make TEST_PHP_ARGS=-j4 test +```shell +make TEST_PHP_ARGS=-j4 test +``` Shall run `make test` with a maximum of 4 concurrent jobs: Generally the maximum number of jobs should not exceed the number of cores available. +Use `TESTS` variable to tests only specific directories: + +```shell +make TESTS=tests/lang/ test +``` + The [qa.php.net](https://qa.php.net) site provides more detailed info about testing and quality assurance. @@ -88,9 +117,11 @@ testing and quality assurance. After a successful build (and test), PHP may be installed with: - make install +```shell +make install +``` -Depending on your permissions and prefix, `make install` may need super user +Depending on your permissions and prefix, `make install` may need superuser permissions. ## PHP extensions