config.w32 2.5 KB

12345678910111213141516171819202122232425262728293031323334353637383940414243444546474849505152535455565758596061626364656667686970717273
  1. // $Id$
  2. // vim:ft=javascript
  3. ARG_WITH("pdo-dblib", "freetds dblib (Sybase, MS-SQL) support for PDO", "no");
  4. if (PHP_PDO_DBLIB != "no") {
  5. /* if they pointed us to a freetds dir, pick that up,
  6. * otherwise we'll poke around and look for MSSQL libs */
  7. if (CHECK_LIB("sybdb.lib", "pdo_dblib", PHP_PDO_DBLIB) &&
  8. CHECK_HEADER_ADD_INCLUDE("sybfront.h", "CFLAGS_PDO_DBLIB",
  9. PHP_PDO_DBLIB, null, null, true))
  10. {
  11. EXTENSION("pdo_dblib", "pdo_dblib.c dblib_driver.c dblib_stmt.c");
  12. ADD_FLAG('CFLAGS_PDO_DBLIB', "/D PDO_DBLIB_FLAVOUR=\\\"freetds\\\"");
  13. ADD_EXTENSION_DEP('pdo_dblib', 'pdo');
  14. } else {
  15. WARNING("pdo_dblib not enabled, libraries or headers not found")
  16. }
  17. }
  18. ARG_WITH("pdo-mssql", "Native MS-SQL support for PDO", "no");
  19. if (PHP_PDO_MSSQL != "no") {
  20. /* if they pointed us to a freetds dir, pick that up,
  21. * otherwise we'll poke around and look for MSSQL libs */
  22. pdo_mssql_locations = new Array(
  23. PHP_PDO_MSSQL,
  24. "\\Program Files\\Microsoft SQL Server\\80",
  25. "\\MSSQL8",
  26. "\\MSSQL7",
  27. PHP_PHP_BUILD + "\\MSSQL80"
  28. );
  29. PDO_DBLIB_FLAVOUR = 0;
  30. if (CHECK_LIB("sybdb.lib", "pdo_mssql", PHP_PDO_MSSQL) &&
  31. CHECK_HEADER_ADD_INCLUDE("sybfront.h", "CFLAGS_PDO_MSSQL",
  32. PHP_PDO_MSSQL, null, null, true)) {
  33. /* smells like FreeTDS (or maybe native sybase dblib) */
  34. PDO_DBLIB_FLAVOUR = "freetds";
  35. } else {
  36. for (i = 0; i < pdo_mssql_locations.length; i++) {
  37. if (CHECK_LIB("ntwdblib.lib", "pdo_mssql",
  38. pdo_mssql_locations[i] + "\\DevTools\\Lib") &&
  39. CHECK_HEADER_ADD_INCLUDE("sqlfront.h", "CFLAGS_PDO_MSSQL",
  40. pdo_mssql_locations[i] + "\\DevTools\\Include",
  41. null, null, true)) {
  42. if (pdo_mssql_locations[i] == 'yes') {
  43. PDO_DBLIB_FLAVOUR = 70;
  44. } else {
  45. pdo_mssql_locations[i].match(new RegExp("(\\d)"));
  46. PDO_DBLIB_FLAVOUR = RegExp.$1 + 0;
  47. }
  48. break;
  49. }
  50. }
  51. }
  52. if (PDO_DBLIB_FLAVOUR != 0) {
  53. EXTENSION("pdo_mssql", "pdo_dblib.c dblib_driver.c dblib_stmt.c", null, null, null, "ext\\pdo_mssql");
  54. if (PDO_DBLIB_FLAVOUR != "freetds") {
  55. ADD_FLAG("CFLAGS_PDO_MSSQL", "/DPHP_DBLIB_IS_MSSQL=1 /DDBNTWIN32=1 /DMSSQL" + PDO_DBLIB_FLAVOUR + "0=1 /DMSSQL_VERSION=\\\"" + PDO_DBLIB_FLAVOUR + ".0\\\"");
  56. ADD_FLAG("CFLAGS_PDO_MSSQL", "/DPDO_DBLIB_IS_MSSQL=" + PDO_DBLIB_FLAVOUR);
  57. PDO_DBLIB_FLAVOUR = "MSSQL_" + PDO_DBLIB_FLAVOUR;
  58. }
  59. ADD_FLAG('CFLAGS_PDO_MSSQL', "/D PDO_DBLIB_FLAVOUR=\\\"" + PDO_DBLIB_FLAVOUR + "\\\"");
  60. ADD_EXTENSION_DEP('pdo_mssql', 'pdo');
  61. } else {
  62. WARNING("pdo_mssql not enabled, libraries or headers not found")
  63. }
  64. }