Browse Source

Feat: static built

viest 2 years ago
parent
commit
497e21ddc1
14 changed files with 65 additions and 29 deletions
  1. 2 0
      include/chart.h
  2. 44 0
      include/common.h
  3. 2 0
      include/csv.h
  4. 2 0
      include/excel.h
  5. 2 0
      include/exception.h
  6. 2 0
      include/format.h
  7. 2 0
      include/help.h
  8. 2 0
      include/read.h
  9. 2 0
      include/rich_string.h
  10. 2 0
      include/validation.h
  11. 1 0
      include/xlswriter.h
  12. 1 1
      kernel/write.c
  13. 1 0
      package.xml
  14. 0 28
      php_xlswriter.h

+ 2 - 0
include/chart.h

@@ -13,6 +13,8 @@
 #ifndef PHP_EXT_EXCEL_EXPORT_CHART_H
 #define PHP_EXT_EXCEL_EXPORT_CHART_H
 
+#include "common.h"
+
 extern zend_class_entry *vtiful_chart_ce;
 
 VTIFUL_STARTUP_FUNCTION(chart);

+ 44 - 0
include/common.h

@@ -0,0 +1,44 @@
+/*
+  +----------------------------------------------------------------------+
+  | XlsWriter Extension                                                  |
+  +----------------------------------------------------------------------+
+  | Copyright (c) 2017-2018 The Viest                                    |
+  +----------------------------------------------------------------------+
+  | http://www.viest.me                                                  |
+  +----------------------------------------------------------------------+
+  | Author: viest <[email protected]>                                 |
+  +----------------------------------------------------------------------+
+*/
+
+#ifndef PHP_EXT_XLS_WRITER_COMMON_H
+#define PHP_EXT_XLS_WRITER_COMMON_H
+
+#ifdef PHP_WIN32
+#	define PHP_VTIFUL_API __declspec(dllexport)
+#elif defined(__GNUC__) && __GNUC__ >= 4
+#	define PHP_VTIFUL_API __attribute__ ((visibility("default")))
+#else
+#	define PHP_VTIFUL_API
+#endif
+
+#ifdef ZTS
+#include "TSRM.h"
+#endif
+
+#if PHP_VERSION_ID >= 80000
+#define TSRMLS_D	void
+#define TSRMLS_DC
+#define TSRMLS_C
+#define TSRMLS_CC
+#endif
+
+#define VTIFUL_RESOURCE_NAME "xlsx"
+
+#define VTIFUL_STARTUP_MODULE(module) ZEND_MODULE_STARTUP_N(xlsxwriter_##module)(INIT_FUNC_ARGS_PASSTHRU)
+#define VTIFUL_STARTUP_FUNCTION(module) ZEND_MINIT_FUNCTION(xlsxwriter_##module)
+
+#if defined(ZTS) && defined(COMPILE_DL_VTIFUL)
+ZEND_TSRMLS_CACHE_EXTERN();
+#endif
+
+#endif

+ 2 - 0
include/csv.h

@@ -13,6 +13,8 @@
 #ifndef PHP_EXT_XLS_WRITER_CSV_H
 #define PHP_EXT_XLS_WRITER_CSV_H
 
+#include "common.h"
+
 unsigned int xlsx_to_csv(
         zval *stream_resource,
         const char *delimiter_str, int delimiter_str_len,

+ 2 - 0
include/excel.h

@@ -13,6 +13,8 @@
 #ifndef VTIFUL_XLS_H
 #define VTIFUL_XLS_H
 
+#include "common.h"
+
 #define V_XLS_HANDLE "handle"
 #define V_XLS_FIL    "fileName"
 #define V_XLS_COF    "config"

+ 2 - 0
include/exception.h

@@ -13,6 +13,8 @@
 #ifndef VTIFUL_XLS_EXCEPTION_H
 #define VTIFUL_XLS_EXCEPTION_H
 
+#include "common.h"
+
 extern zend_class_entry *vtiful_exception_ce;
 
 VTIFUL_STARTUP_FUNCTION(exception);

+ 2 - 0
include/format.h

@@ -13,6 +13,8 @@
 #ifndef PHP_EXT_XLS_EXPORT_FORMAT_H
 #define PHP_EXT_XLS_EXPORT_FORMAT_H
 
+#include "common.h"
+
 extern zend_class_entry *vtiful_format_ce;
 
 VTIFUL_STARTUP_FUNCTION(format);

+ 2 - 0
include/help.h

@@ -13,6 +13,8 @@
 #ifndef PHP_EXT_XLS_EXPORT_HELP_H
 #define PHP_EXT_XLS_EXPORT_HELP_H
 
+#include "common.h"
+
 unsigned int file_exists(const char *path);
 unsigned int directory_exists(const char *path);
 zend_long date_double_to_timestamp(double value);

+ 2 - 0
include/read.h

@@ -13,6 +13,8 @@
 #ifndef PHP_READ_INCLUDE_H
 #define PHP_READ_INCLUDE_H
 
+#include "common.h"
+
 #define READ_SKIP_ROW 0
 #define READ_ROW 0x01
 #define SKIP_EMPTY_VALUE 0x100

+ 2 - 0
include/rich_string.h

@@ -13,6 +13,8 @@
 #ifndef PHP_EXT_XLS_EXPORT_RICH_STRING_H
 #define PHP_EXT_XLS_EXPORT_RICH_STRING_H
 
+#include "common.h"
+
 extern zend_class_entry *vtiful_rich_string_ce;
 
 VTIFUL_STARTUP_FUNCTION(rich_string);

+ 2 - 0
include/validation.h

@@ -13,6 +13,8 @@
 #ifndef PHP_EXT_XLS_WRITER_VALIDATION_H
 #define PHP_EXT_XLS_WRITER_VALIDATION_H
 
+#include "common.h"
+
 extern zend_class_entry *vtiful_validation_ce;
 
 VTIFUL_STARTUP_FUNCTION(validation);

+ 1 - 0
include/xlswriter.h

@@ -30,6 +30,7 @@
 #include "xlsxwriter/packager.h"
 #include "xlsxwriter/format.h"
 
+#include "common.h"
 #include "php_xlswriter.h"
 #include "excel.h"
 #include "validation.h"

+ 1 - 1
kernel/write.c

@@ -622,7 +622,7 @@ workbook_file(xls_resource_write_t *self)
 
 void _php_vtiful_xls_close(zend_resource *rsrc TSRMLS_DC)
 {
-
+    //
 }
 
 /*

+ 1 - 0
package.xml

@@ -50,6 +50,7 @@
  <contents>
   <dir name="/">
    <file md5sum="1cf796971bf051dce46bb715ab550289" name="include/chart.h" role="src" />
+   <file md5sum="" name="include/common.h" role="src" />
    <file md5sum="7e182a4b3e7d46e2a075b4500c62441a" name="include/csv.h" role="src" />
    <file md5sum="230bb9471b8c6f884c35e6279ec52df9" name="include/excel.h" role="src" />
    <file md5sum="07719d1125f1db8889ffceffa37feea6" name="include/exception.h" role="src" />

+ 0 - 28
php_xlswriter.h

@@ -21,38 +21,10 @@ extern zend_module_entry xlswriter_module_entry;
 #define PHP_XLSWRITER_VERSION "1.5.4"
 #define PHP_XLSWRITER_AUTHOR  "Jiexing.Wang ([email protected])"
 
-#ifdef PHP_WIN32
-#	define PHP_VTIFUL_API __declspec(dllexport)
-#elif defined(__GNUC__) && __GNUC__ >= 4
-#	define PHP_VTIFUL_API __attribute__ ((visibility("default")))
-#else
-#	define PHP_VTIFUL_API
-#endif
-
-#ifdef ZTS
-#include "TSRM.h"
-#endif
-
-#if PHP_VERSION_ID >= 80000
-#define TSRMLS_D	void
-#define TSRMLS_DC
-#define TSRMLS_C
-#define TSRMLS_CC
-#endif
-
-#define VTIFUL_RESOURCE_NAME "xlsx"
-
 extern int le_xls_writer;
 
-#define VTIFUL_STARTUP_MODULE(module) ZEND_MODULE_STARTUP_N(xlsxwriter_##module)(INIT_FUNC_ARGS_PASSTHRU)
-#define VTIFUL_STARTUP_FUNCTION(module) ZEND_MINIT_FUNCTION(xlsxwriter_##module)
-
 void _php_vtiful_xls_close(zend_resource *rsrc TSRMLS_DC);
 
-#if defined(ZTS) && defined(COMPILE_DL_VTIFUL)
-ZEND_TSRMLS_CACHE_EXTERN();
-#endif
-
 PHP_MINIT_FUNCTION(xlswriter);
 PHP_MSHUTDOWN_FUNCTION(xlswriter);
 PHP_RINIT_FUNCTION(xlswriter);