RPA Toolkit
work on RPA php extension.
authorMartin Stoilov <martin@rpasearch.com>
Mon, 13 Jun 2011 06:53:07 +0000 (23:53 -0700)
committerMartin Stoilov <martin@rpasearch.com>
Mon, 13 Jun 2011 06:53:07 +0000 (23:53 -0700)
phpext/prpa/config.m4
phpext/prpa/php_prpa.h
phpext/prpa/prpa.c

index 7fb7fd8..07d3d32 100644 (file)
@@ -21,8 +21,32 @@ if test "$PHP_PRPA" != "no"; then
 
   dnl # --with-prpa -> check with-path
   MACHDIR=`uname -m 2>/dev/null`
-  OS=`uname 2>/dev/null`
-  SEARCH_PATH="/usr/local /usr  ../../rpasdk/$OS/$MACHDIR"     # you might want to change this
+  OS=linux
+
+  SEARCH_PATH="../../arch/$OS/$MACHDIR"     # you might want to change this
+  SEARCH_FOR="rtypes.h"                         # you most likely want to change this
+  if test -r $PHP_PRPA/arch/$OS/$MACHDIR/$SEARCH_FOR; then # path given as parameter
+     RTYPES_DIR=$PHP_PRPA/arch/$OS/$MACHDIR
+  else # search default path list
+       AC_MSG_CHECKING([for arch files in default path])
+       for i in $SEARCH_PATH; do
+                  if test -r $i/$SEARCH_FOR; then
+             RTYPES_DIR=$i
+              AC_MSG_RESULT(found in $i)
+                  fi
+       done
+
+  fi
+
+  if test -z "$RTYPES_DIR"; then
+     AC_MSG_RESULT([not found])
+     AC_MSG_ERROR([arch dir not found in $SEARCH_PATH . Please reinstall the prpa distribution])
+  else
+     AC_MSG_RESULT([found])
+     PHP_ADD_INCLUDE($RTYPES_DIR)
+  fi
+
+  SEARCH_PATH="../../rpa"     # you might want to change this
   SEARCH_FOR="rpadbex.h"                                # you most likely want to change this
   if test -r $PHP_PRPA/$SEARCH_FOR; then # path given as parameter
      PRPA_DIR=$PHP_PRPA
@@ -38,12 +62,15 @@ if test "$PHP_PRPA" != "no"; then
 
   if test -z "$PRPA_DIR"; then
      AC_MSG_RESULT([not found])
-     AC_MSG_ERROR([Please reinstall the prpa distribution])
+     AC_MSG_ERROR([RPA dir not found. Please reinstall the prpa distribution])
   fi
 
+
+
   dnl # --with-prpa -> add include path
   PHP_ADD_INCLUDE($PRPA_DIR)
 
+
   dnl # --with-prpa -> check for lib and symbol presence
   LIBNAME=rpa
   LIBSYMBOL=rpa_dbex_create
index e907c20..ae0c1ed 100644 (file)
@@ -41,6 +41,9 @@ PHP_MSHUTDOWN_FUNCTION(prpa);
 PHP_RINIT_FUNCTION(prpa);
 PHP_RSHUTDOWN_FUNCTION(prpa);
 PHP_MINFO_FUNCTION(prpa);
+PHP_FUNCTION(rpa_dbex_version);
+
+#if 0
 PHP_FUNCTION(rpa_dbex_strmatch);
 PHP_FUNCTION(rpa_dbex_create);
 PHP_FUNCTION(rpa_dbex_open);
@@ -60,11 +63,8 @@ PHP_FUNCTION(rpa_dbex_prev_pattern);
 PHP_FUNCTION(rpa_dbex_pattern_name);
 PHP_FUNCTION(rpa_dbex_pattern_regex);
 PHP_FUNCTION(rpa_dbex_add_callback);
-PHP_FUNCTION(rpa_dbex_version);
-PHP_FUNCTION(rpa_dbex_seversion);
-
+#endif
 
-PHP_FUNCTION(confirm_prpa_compiled);   /* For testing, remove later. */
 
 /* 
        Declare any global variables you may need between the BEGIN
index fa98b88..34c309f 100644 (file)
@@ -49,7 +49,6 @@ typedef struct _php_rpa_pattern {
 
 
 typedef struct _php_cbinfo {
-//     rpa_dbex_handle hDbex;
        php_rpa_dbex *pPhpDbex;
        char *php_callback;
        zval *userdata;
@@ -75,6 +74,8 @@ static int le_prpa;
  */
 zend_function_entry prpa_functions[] = {
        PHP_FE(confirm_prpa_compiled,   NULL)           /* For testing, remove later. */
+    PHP_FE(rpa_dbex_version, NULL)
+#if 0
     PHP_FE(rpa_dbex_strmatch, NULL)
     PHP_FE(rpa_dbex_create, NULL)
     PHP_FE(rpa_dbex_load_string, NULL)
@@ -94,8 +95,7 @@ zend_function_entry prpa_functions[] = {
     PHP_FE(rpa_dbex_pattern_name, NULL)
     PHP_FE(rpa_dbex_pattern_regex, NULL)
     PHP_FE(rpa_dbex_add_callback, NULL)
-    PHP_FE(rpa_dbex_version, NULL)
-    PHP_FE(rpa_dbex_seversion, NULL)
+#endif
        {NULL, NULL, NULL}      /* Must be the last line in prpa_functions[] */
 };
 /* }}} */
@@ -215,36 +215,12 @@ PHP_MINFO_FUNCTION(prpa)
 /* }}} */
 
 
-/* Remove the following function when you have succesfully modified config.m4
-   so that your module can be compiled into PHP, it exists only for testing
-   purposes. */
-
-/* Every user-visible function in PHP should document itself in the source */
-/* {{{ proto string confirm_prpa_compiled(string arg)
-   Return a string to confirm that the module is compiled in */
-PHP_FUNCTION(confirm_prpa_compiled)
+PHP_FUNCTION(rpa_dbex_version)
 {
-       char *arg = NULL;
-       int arg_len, len;
-       char *strg;
-
-       if (zend_parse_parameters(ZEND_NUM_ARGS() TSRMLS_CC, "s", &arg, &arg_len) == FAILURE) {
-               return;
-       }
-
-       len = spprintf(&strg, 0, "Congratulations! You have successfully modified ext/%.78s/config.m4. Module %.78s is now compiled into PHP.", "prpa", arg);
-       RETURN_STRINGL(strg, len, 0);
+    RETURN_STRING(rpa_dbex_version(), 1);
 }
-/* }}} */
-/* The previous line is meant for vim and emacs, so it can correctly fold and 
-   unfold functions in source code. See the corresponding marks just before 
-   function definition, where the functions purpose is also documented. Please 
-   follow this convention for the convenience of others editing your code.
-*/
-
-
-
 
+#if 0
 static php_cbinfo *php_cbinfo_create(php_rpa_dbex *pPhpDbex, const char *php_callback, zval *userdata)
 {
        php_cbinfo *pCbInfo;
@@ -840,14 +816,4 @@ PHP_FUNCTION(rpa_dbex_add_callback)
        RETURN_LONG(ret);
 }
 
-
-PHP_FUNCTION(rpa_dbex_version)
-{
-    RETURN_STRING(rpa_dbex_version(), 1);
-}
-
-
-PHP_FUNCTION(rpa_dbex_seversion)
-{
-    RETURN_STRING(rpa_dbex_seversion(), 1);
-}
+#endif