Skip to content
New issue

Have a question about this project? Sign up for a free GitHub account to open an issue and contact its maintainers and the community.

By clicking “Sign up for GitHub”, you agree to our terms of service and privacy statement. We’ll occasionally send you account related emails.

Already on GitHub? Sign in to your account

Create FreeBSD-specific Makefile #456

Open
wants to merge 9 commits into
base: master
Choose a base branch
from

Conversation

lattera
Copy link

@lattera lattera commented Oct 17, 2020

This PR introduces a new Makefile.FreeBSD that is friendly with the bsdmake framework. This allows for easy integration into the FreeBSD ports tree.

Sponsored-by: BlackhawkNest, Inc

Shawn Webb added 9 commits October 17, 2020 09:08
Third-party applications on FreeBSD/HardenedBSD install into /usr/local.

Signed-off-by:	Shawn Webb <[email protected]>
Sponsored-by:	BlackhawkNest, Inc
Signed-off-by:	Shawn Webb <[email protected]>
Sponsored-by:	BlackhawkNest, Inc
Signed-off-by:	Shawn Webb <[email protected]>
Sponsored-by:	BlackhawkNest, Inc
Signed-off-by:	Shawn Webb <[email protected]>
Sponsored-by:	BlackhawkNest, Inc
Since I created a FreeBSD-specific Makefile, there's no need to modify
the primary Makefile.

Signed-off-by:	Shawn Webb <[email protected]>
Sponsored-by:	BlackhawkNest, Inc
Also, default to /usr/local if PREFIX is undefined.

Signed-off-by:	Shawn Webb <[email protected]>
When telling the BSD build infrastructure where to find source code
files, the order matters. In this repo, there are some source code files
with the same file name that live in /common and /zend.

For example, /common/streambuf.cpp and /zend/streambuf.cpp. It seams
that the former is scaffolding while the latter is the complete
implementation.

With this fix, PHP is able to load a custom extension that builds on top
of PHP-CPP.

PHP Warning:  PHP Startup: Unable to load dynamic library '/usr/home/shawn/projects/php-lib[sanitized]/obj/libphp-lib[sanitized].so' (tried: /usr
/home/shawn/projects/php-lib[sanitized]/obj/libphp-lib[sanitized].so (/usr/local/lib/libphpcpp.so.2.2.0: Undefined symbol "_ZN3Php9StreamBuf4sync
Ev"), /usr/local/lib/php/20190902//usr/home/shawn/projects/php-lib[sanitized]/obj/libphp-lib[sanitized].so.so (Cannot open "/usr/local/lib/php/20
190902//usr/home/shawn/projects/php-lib[sanitized]/obj/libphp-lib[sanitized].so.so")) in Unknown on line 0

Signed-off-by:	Shawn Webb <[email protected]>
Rename /common/streambuf.cpp to /common/common_streambuf.cpp to address
file name conflict with /zend/streambuf.cpp.

Signed-off-by:	Shawn Webb <[email protected]>
Sign up for free to join this conversation on GitHub. Already have an account? Sign in to comment
Labels
None yet
Projects
None yet
Development

Successfully merging this pull request may close these issues.

1 participant