README.chromium 3.3 KB

123456789101112131415161718192021222324252627282930313233343536373839404142434445464748495051525354555657585960616263646566676869707172
  1. Name: Apache2 (+ PHP)
  2. Short Name: httpd
  3. URL: http://www.apache.org
  4. Version: 2.4.37
  5. Security Critical: no
  6. License: Apache Version 2.0
  7. License File: NOT_SHIPPED
  8. Description:
  9. This is a checked-in copy of Apache2 with OpenSSL and PHP for Windows.
  10. It is used by the Blink layout tests.
  11. To update, you'll need to fetch Apache2 and PHP. PHP can be found at
  12. http://windows.php.net/downloads/releases/archives/. Make sure your Apache
  13. binary matches the PHP one and your PHP build is the TS (thread-safe) one. As
  14. of writing, PHP builds against the binaries at
  15. https://www.apachelounge.com/download/.
  16. The most recent update used:
  17. 33afeb018e0cee8592d44abbf72fda37f6a35586aeb5f4b4c1b717c681d82dd8 httpd-2.4.37-win64-VC15.zip
  18. cf4f192bfab0b59b6af64a2ce9f4a0394ebce1a695d0f1a478c4443e601f9f87 php-7.2.12-Win32-VC15-x64.zip
  19. To update:
  20. 1. Go to the Chromium third_party directory and back up apache-win32,
  21. for example by renaming it as apache-win32.bak.
  22. 2. Download Apache2, unpack, and move to "apache-win32". This directory
  23. should contain metadata files and bin/ and modules/ subdirectories.
  24. 3. Copy ".gitignore" and "README.chromium" to the new apache-win32 directory.
  25. 4. Download PHP and unpack; copy "readme-redist-bins.txt" to your Apache
  26. directory, copy "php*ts.dll" to bin/, and copy "php*apache2_*.dll" to modules/.
  27. 5. It might be necessary to copy other DLL files to the directories
  28. where the relevant binaries are present. Update
  29. remove_files_not_needed_for_chromium.sh accordingly.
  30. 6. Verify that Apache2 works, for example by running "run-blink-httpd"
  31. in the Blink tools directory. Update the win-httpd.conf configuration
  32. file if necessary.
  33. 7. Update filenames as necessary and delete files that aren't need for Chromium
  34. using remove_files_not_needed_for_chromium.sh.
  35. 8. Copy vsruntime{version}.dll from the corresponding MSVC version to
  36. bin/. (Note VC15/MSVC2017 and VC14/MSVC2015 are both version 140.) See also
  37. Microsoft's documentation:
  38. https://docs.microsoft.com/en-us/cpp/ide/determining-which-dlls-to-redistribute?view=vs-2017
  39. 9. Copy the UCRT DLLs from the Windows SDK. Note this includes both
  40. api-ms-win-*.dll and ucrtbase.dll. See also Microsoft's documentation:
  41. https://docs.microsoft.com/en-us/cpp/ide/universal-crt-deployment?view=vs-2017
  42. We use the Local Deployment option because some of Chromium's bots do not
  43. include a full install. https://crbug.com/910745
  44. 10. Upload the executables and DLLs to Google Storage, to the
  45. chromium-apache-win32 bucket. See http://g.co/bugatrooper in order to get
  46. permission to upload. Upload all exe, dll and so binaries, e.g.:
  47. % find apache-win32/bin -name '*.exe' | upload_to_google_storage.py --bucket chromium-apache-win32 -
  48. % find apache-win32/bin -name '*.dll' | upload_to_google_storage.py --bucket chromium-apache-win32 -
  49. % find apache-win32/modules -name '*.so' | upload_to_google_storage.py --bucket chromium-apache-win32 -
  50. % find apache-win32/modules -name '*.dll' | upload_to_google_storage.py --bucket chromium-apache-win32 -
  51. 11. Optionally, prune the files that were uploaded and run gclient runhooks to
  52. verify that they are re-downloaded. Remember to clean up any temp files used
  53. in the above process before uploading a CL. The CL should contain sha1 files
  54. but not actual binaries.