mirror of
https://github.com/php/php-src.git
synced 2024-09-21 09:57:23 +00:00
improve extension skeleton generator
This commit is contained in:
parent
927748b271
commit
230ef2d947
@ -140,7 +140,7 @@ function process_args($argv, $argc) {
|
||||
continue;
|
||||
}
|
||||
|
||||
$options[$opt] = ($opt == 'dir' ? realpath($argv[$i + 1]) : $argv[$i + 1]);
|
||||
$options[$opt] = ($opt == 'dir' ? realpath($argv[$i + 1]) . DIRECTORY_SEPARATOR : $argv[$i + 1]);
|
||||
}
|
||||
break;
|
||||
default: {
|
||||
@ -249,9 +249,7 @@ function copy_config_scripts() {
|
||||
$files[] = 'config.w32';
|
||||
}
|
||||
|
||||
if (!$files) {
|
||||
return;
|
||||
}
|
||||
$files[] = '.gitignore';
|
||||
|
||||
foreach($files as $config_script) {
|
||||
$new_config_script = $options['dir'] . $options['ext'] . DIRECTORY_SEPARATOR . $config_script;
|
||||
|
36
ext/skeleton/.gitignore.in
Normal file
36
ext/skeleton/.gitignore.in
Normal file
@ -0,0 +1,36 @@
|
||||
.deps
|
||||
*.lo
|
||||
*.la
|
||||
.libs
|
||||
acinclude.m4
|
||||
aclocal.m4
|
||||
autom4te.cache
|
||||
build
|
||||
config.guess
|
||||
config.h
|
||||
config.h.in
|
||||
config.log
|
||||
config.nice
|
||||
config.status
|
||||
config.sub
|
||||
configure
|
||||
configure.ac
|
||||
configure.in
|
||||
include
|
||||
install-sh
|
||||
libtool
|
||||
ltmain.sh
|
||||
Makefile
|
||||
Makefile.fragments
|
||||
Makefile.global
|
||||
Makefile.objects
|
||||
missing
|
||||
mkinstalldirs
|
||||
modules
|
||||
run-tests.php
|
||||
tests/*/*.diff
|
||||
tests/*/*.out
|
||||
tests/*/*.php
|
||||
tests/*/*.exp
|
||||
tests/*/*.log
|
||||
tests/*/*.sh
|
@ -1,7 +1,83 @@
|
||||
dnl $Id$
|
||||
dnl config.m4 for extension %EXTNAME%
|
||||
|
||||
dnl Comments in this file start with the string 'dnl'.
|
||||
dnl Remove where necessary.
|
||||
|
||||
dnl If your extension references something external, use with:
|
||||
|
||||
dnl PHP_ARG_WITH(%EXTNAME%, for %EXTNAME% support,
|
||||
dnl Make sure that the comment is aligned:
|
||||
dnl [ --with-%EXTNAME% Include %EXTNAME% support])
|
||||
|
||||
dnl Otherwise use enable:
|
||||
|
||||
PHP_ARG_ENABLE(%EXTNAME%, whether to enable %EXTNAME% support,
|
||||
dnl Make sure that the comment is aligned:
|
||||
[ --enable-%EXTNAME% Enable %EXTNAME% support], no)
|
||||
|
||||
if test "$PHP_%EXTNAMECAPS%" != "no"; then
|
||||
dnl Write more examples of tests here...
|
||||
|
||||
dnl # get library FOO build options from pkg-config output
|
||||
dnl AC_PATH_PROG(PKG_CONFIG, pkg-config, no)
|
||||
dnl AC_MSG_CHECKING(for libfoo)
|
||||
dnl if test -x "$PKG_CONFIG" && $PKG_CONFIG --exists foo; then
|
||||
dnl if $PKG_CONFIG foo --atleast-version 1.2.3; then
|
||||
dnl LIBFOO_CFLAGS=\`$PKG_CONFIG foo --cflags\`
|
||||
dnl LIBFOO_LIBDIR=\`$PKG_CONFIG foo --libs\`
|
||||
dnl LIBFOO_VERSON=\`$PKG_CONFIG foo --modversion\`
|
||||
dnl AC_MSG_RESULT(from pkgconfig: version $LIBFOO_VERSON)
|
||||
dnl else
|
||||
dnl AC_MSG_ERROR(system libfoo is too old: version 1.2.3 required)
|
||||
dnl fi
|
||||
dnl else
|
||||
dnl AC_MSG_ERROR(pkg-config not found)
|
||||
dnl fi
|
||||
dnl PHP_EVAL_LIBLINE($LIBFOO_LIBDIR, %EXTNAMECAPS%_SHARED_LIBADD)
|
||||
dnl PHP_EVAL_INCLINE($LIBFOO_CFLAGS)
|
||||
|
||||
dnl # --with-%EXTNAME% -> check with-path
|
||||
dnl SEARCH_PATH="/usr/local /usr" # you might want to change this
|
||||
dnl SEARCH_FOR="/include/%EXTNAME%.h" # you most likely want to change this
|
||||
dnl if test -r $PHP_%EXTNAMECAPS%/$SEARCH_FOR; then # path given as parameter
|
||||
dnl %EXTNAMECAPS%_DIR=$PHP_%EXTNAMECAPS%
|
||||
dnl else # search default path list
|
||||
dnl AC_MSG_CHECKING([for %EXTNAME% files in default path])
|
||||
dnl for i in $SEARCH_PATH ; do
|
||||
dnl if test -r $i/$SEARCH_FOR; then
|
||||
dnl %EXTNAMECAPS%_DIR=$i
|
||||
dnl AC_MSG_RESULT(found in $i)
|
||||
dnl fi
|
||||
dnl done
|
||||
dnl fi
|
||||
dnl
|
||||
dnl if test -z "$%EXTNAMECAPS%_DIR"; then
|
||||
dnl AC_MSG_RESULT([not found])
|
||||
dnl AC_MSG_ERROR([Please reinstall the %EXTNAME% distribution])
|
||||
dnl fi
|
||||
|
||||
dnl # --with-%EXTNAME% -> add include path
|
||||
dnl PHP_ADD_INCLUDE($%EXTNAMECAPS%_DIR/include)
|
||||
|
||||
dnl # --with-%EXTNAME% -> check for lib and symbol presence
|
||||
dnl LIBNAME=%EXTNAMECAPS% # you may want to change this
|
||||
dnl LIBSYMBOL=%EXTNAMECAPS% # you most likely want to change this
|
||||
|
||||
dnl PHP_CHECK_LIBRARY($LIBNAME,$LIBSYMBOL,
|
||||
dnl [
|
||||
dnl PHP_ADD_LIBRARY_WITH_PATH($LIBNAME, $%EXTNAMECAPS%_DIR/$PHP_LIBDIR, %EXTNAMECAPS%_SHARED_LIBADD)
|
||||
dnl AC_DEFINE(HAVE_%EXTNAMECAPS%LIB,1,[ ])
|
||||
dnl ],[
|
||||
dnl AC_MSG_ERROR([wrong %EXTNAME% lib version or lib not found])
|
||||
dnl ],[
|
||||
dnl -L$%EXTNAMECAPS%_DIR/$PHP_LIBDIR -lm
|
||||
dnl ])
|
||||
dnl
|
||||
dnl PHP_SUBST(%EXTNAMECAPS%_SHARED_LIBADD)
|
||||
|
||||
dnl # In case of no dependencies
|
||||
AC_DEFINE(HAVE_%EXTNAMECAPS%, 1, [ Have %EXTNAME% support ])
|
||||
|
||||
PHP_NEW_EXTENSION(%EXTNAME%, %EXTNAME%.c, $ext_shared)
|
||||
fi
|
||||
|
Loading…
Reference in New Issue
Block a user