Author |
|
nickgearls
Joined: 07 Jul 2016 Posts: 9
|
Posted: Thu 07 Jul '16 12:20 Post subject: VS2015 projects / makefiles |
|
|
Are the projects and/or makefiles used to compile Apache available somewhere?
Same questions for modified files (or command generated them).
Thanks |
|
Back to top |
|
glsmith Moderator
Joined: 16 Oct 2007 Posts: 2268 Location: Sun Diego, USA
|
Posted: Thu 07 Jul '16 16:27 Post subject: |
|
|
Makefiles are in the source distribution
Project/Solution files can be created by converting the .dsw in Visual Studio. Open Apache.dsw and say yes to the conversion.
I use the command line build on vc10, 11 & 14 only so I do not have to wait for the conversion process to complete. |
|
Back to top |
|
nickgearls
Joined: 07 Jul 2016 Posts: 9
|
Posted: Thu 07 Jul '16 16:38 Post subject: |
|
|
My question was about the build that compiled the files available in the 'Download' section.
I hope they're using additional options (like ASLR, DEP, ...) and maybe modified makefiles.
Any chance to have that info? I guess it's important to know which options were used for the compiled packages. |
|
Back to top |
|
nickgearls
Joined: 07 Jul 2016 Posts: 9
|
Posted: Thu 07 Jul '16 16:44 Post subject: |
|
|
Another example: what should/could be modified in apr.hw?
It seems to me that the default file is not optimal for recent SDK (?) |
|
Back to top |
|
glsmith Moderator
Joined: 16 Oct 2007 Posts: 2268 Location: Sun Diego, USA
|
Posted: Thu 07 Jul '16 18:40 Post subject: |
|
|
Ah, ok
_WIN32_WINNT Set to 0x0600 for Vista & up
APR_HAVE_IPV6 set to 1 for IPv6
Those are the only two I ever change.
apu.hw in apr-util
For crypto (for mod_session_crypto) I just set APU_HAVE_CRYPTO to 1
I do build apr_crypto_openssl-1.dll but I do not set APU_HAVE_OPENSSL to 1. I have tried both and my findings are it seems unneeded (and requires changes to libaprutil.mak/dsp and aprutil.mak/dsp if you do). Unfortunately to get apr_crypto_openssl-1.dll built you have to add lines into httpd's makefile.win. One to build and one to copy during install. It should be added to makefile.win upstream similar to how the dbd/dbms are done.
The dbd/dbms are easier as they can be set to build/install by adding for example
DBD_LIST="mysql sqlite3" at the command line when building httpd. apr_dbd_odbc-1.dll is built by default on Windows.
In VC14 _setargv() will fail in Apachemonitor. Commenting it out allows it to build and it mostly works. What doesn't work hasn't worked for me since Vista anyway (monitoring Apache on remote servers).
VC11/12/14 has a problem with the manifest included in apachemonitor.rc, just comment out the line
CREATEPROCESS_MANIFEST_RESOURCE_ID RT_MANIFEST "ApacheMonitor.manifest" & VC will creates it's own.
I personally change mod_authz_host's error message for APLOGNO(01753) from APLOG_ERR to APLOG_DEBUG. Why? Cause when I use "Require host" to block access it works as expected (403 shows in access log) but leaves a bogus error message, a lot of them and I end up with a 100MB error log after a couple weeks.
Beyond that is up to you. If you plan to build often, best to script this stuff using your favorite scripting language.
For someone new to building Apache, the Cmake option just might be the way to go. Because Cmake is dynamic, it get's close to *nix's ./configure
see:
http://www.apachelounge.com/viewtopic.php?t=6462 |
|
Back to top |
|
nickgearls
Joined: 07 Jul 2016 Posts: 9
|
Posted: Mon 18 Jul '16 17:53 Post subject: |
|
|
Is there a place with the exact source & makefiles used to generate the binaries available in the download section? |
|
Back to top |
|