changeset 5707:34bda0ace182 octave-forge

add netcdf-4.0 build script and patch, add as dependency to gcc43_build_deps.sh
author lindnerb
date Fri, 05 Jun 2009 20:36:01 +0000
parents b289dc7e1b87
children 963c46140540
files admin/Windows/mingw32/gcc43_build_deps.sh admin/Windows/mingw32/netcdf/build-4.0-3.sh admin/Windows/mingw32/netcdf/netcdf-4.0-3.patch
diffstat 3 files changed, 138 insertions(+), 0 deletions(-) [+]
line wrap: on
line diff
--- a/admin/Windows/mingw32/gcc43_build_deps.sh	Fri Jun 05 20:32:44 2009 +0000
+++ b/admin/Windows/mingw32/gcc43_build_deps.sh	Fri Jun 05 20:36:01 2009 +0000
@@ -62,6 +62,8 @@
 VER_FTGL=2.1.3-rc5-3
 VER_FLTK=1.1.9-3
 
+VER_NETCDF=4.0-3
+
 # Mind the dependency of libraries:
 # CBLAS depends on BLAS
 # LAPACK depends on BLAS
@@ -123,3 +125,5 @@
 
 ( cd ftgl && build-${VER_FTGL}.sh ${ACTION} );
 ( cd fltk && build-${VER_FLTK}.sh ${ACTION} );
+
+( cd netcdf && build-${VER_NETCDF}.sh ${ACTION} );
--- /dev/null	Thu Jan 01 00:00:00 1970 +0000
+++ b/admin/Windows/mingw32/netcdf/build-4.0-3.sh	Fri Jun 05 20:36:01 2009 +0000
@@ -0,0 +1,113 @@
+#! /usr/bin/sh
+
+# Name of package
+PKG=netcdf
+# Version of Package
+VER=4.0
+# Release of (this patched) package
+REL=3
+# Name&Version of Package
+PKGVER=${PKG}-${VER}
+# Full name of this patched Package
+FULLPKG=${PKGVER}-${REL}
+
+# Name of source file
+SRCFILE=${PKGVER}.tar.gz
+TAR_TYPE=z
+# Name of Patch file
+PATCHFILE=${FULLPKG}.patch
+
+# URL of source code file
+URL="ftp://ftp.unidata.ucar.edu/pub/netcdf/netcdf-4.0.tar.gz"
+
+# Top dir of this building process (i.e. where the patch file and source file(s) reside)
+TOPDIR=`pwd`
+# Directory Source code is extracted to (relative to TOPDIR)
+SRCDIR=${PKGVER}
+# Directory original source code is extracted to (for generating diffs) (relative to TOPDIR)
+SRCDIR_ORIG=${SRCDIR}-orig
+
+# Make file to use
+MAKEFILE=""
+
+# Additional DIFF Flags for generating diff file
+#DIFF_FLAGS="-x *.def"
+
+# header files to be installed
+INSTALL_HEADERS="netcdf.h"
+#INCLUDE_DIR=
+
+source ../gcc43_common.sh
+
+# Directory the lib is built in
+BUILDDIR=".build_mingw32_${VER}-${REL}_gcc${GCC_VER}${GCC_SYS}"
+
+conf()
+{
+   ( cd ${BUILDDIR} && ${TOPDIR}/${SRCDIR}/configure \
+     --srcdir=../${SRCDIR} \
+     CC="${CC} $LIBGCCLDFLAGS" \
+     CXX="${CXX} $LIBGCCLDFLAGS" \
+     F77="${F77} $LIBGCCLDFLAGS" \
+     CFLAGS="$CFLAGS ${GCC_ARCH_FLAGS} ${GCC_OPT_FLAGS} -Wall" \
+     CXXFLAGS="$CXXFLAGS ${GCC_ARCH_FLAGS} ${GCC_OPT_FLAGS} -Wall" \
+     LDFLAGS="${LDFLAGS}" \
+     --prefix="${PREFIX}" \
+     --enable-shared \
+     --enable-dll \
+     --enable-static
+   )
+}
+
+build_pre()
+{
+   modify_libtool_all ${BUILDDIR}/libtool
+}
+
+install()
+{
+   install_pre;
+   
+   ${CP} ${CP_FLAGS} ${BUILDDIR}/libsrc/.libs/netcdf.dll ${SHAREDLIB_PATH}
+   ${CP} ${CP_FLAGS} ${BUILDDIR}/libsrc/.libs/libnetcdf.a ${STATICLIBRARY_PATH}
+   ${CP} ${CP_FLAGS} ${BUILDDIR}/libsrc/.libs/libnetcdf.dll.a ${LIBRARY_PATH}
+   
+   for a in ${INSTALL_HEADERS}; do
+      ${CP} ${CP_FLAGS} ${SRCDIR}/libsrc/$a ${INCLUDE_PATH}
+   done
+   
+   mkdir -vp ${LICENSE_PATH}/${PKG}
+   ${CP} ${CP_FLAGS} ${SRCDIR}/COPYRIGHT ${LICENSE_PATH}/${PKG}
+   
+   install_post
+}
+
+uninstall()
+{
+   uninstall_pre;
+
+   ${RM} ${RM_FLAGS} ${SHAREDLIB_PATH}/netcdf.dll
+   ${RM} ${RM_FLAGS} ${STATICLIBRARY_PATH}/libnetcdf.a
+   ${RM} ${RM_FLAGS} ${LIBRARY_PATH}/libnetcdf.dll.a
+   
+   for a in ${INSTALL_HEADERS}; do
+      ${RM} ${RM_FLAGS} ${INCLUDE_PATH}/$a
+   done
+   
+   ${RM} ${RM_FLAGS} ${LICENSE_PATH}/${PKG}/COPYRIGHT
+   
+   uninstall_post;
+}
+
+all()
+{
+   download
+   unpack
+   applypatch
+   mkdirs
+   conf
+   build
+   install
+}
+
+main $*
--- /dev/null	Thu Jan 01 00:00:00 1970 +0000
+++ b/admin/Windows/mingw32/netcdf/netcdf-4.0-3.patch	Fri Jun 05 20:36:01 2009 +0000
@@ -0,0 +1,21 @@
+diff -urN -x '*.exe' -x '*.dll' -x '*.o' -x '*.a' -x '*.bak' netcdf-4.0-orig/libsrc/netcdf.h netcdf-4.0/libsrc/netcdf.h
+--- netcdf-4.0-orig/libsrc/netcdf.h	2008-03-28 21:50:28 +0100
++++ netcdf-4.0/libsrc/netcdf.h	2009-02-14 17:55:36 +0100
+@@ -223,10 +223,17 @@
+ #   define MSC_EXTRA __declspec(dllimport)
+ #  endif
+ #include <io.h>
++#if defined(_MSC_VER)
+ #define lseek _lseeki64
+ #define off_t __int64
+ #define stat __stat64
+ #define fstat _fstat64
++#elif defined(__MINGW32__)
++#define lseek _lseeki64
++#define off_t __int64
++#define stat _stati64
++#define fstat _fstati64
++#endif  /* __MINGW32__ */
+ #else
+ #define MSC_EXTRA
+ #endif	/* defined(DLL_NETCDF) */