[Bf-committers] Freetype/i18n autoconf patches.

Kester Maddock bf-committers@blender.org
Sat, 17 May 2003 22:53:16 +1200


--Boundary-00=_cShx+1y5OO6hWTB
Content-Type: text/plain;
  charset="us-ascii"
Content-Transfer-Encoding: 7bit
Content-Disposition: inline

Hi all,

This patch adds internationalization (i18n) to the autoconf builds.  Blender 
i18n can be enabled by passing --enable-i18n to configure.

Kester
--Boundary-00=_cShx+1y5OO6hWTB
Content-Type: text/x-diff;
  charset="us-ascii";
  name="blender-i18n-autoconf.diff"
Content-Transfer-Encoding: 7bit
Content-Disposition: attachment; filename="blender-i18n-autoconf.diff"

Index: Makefile.am
===================================================================
RCS file: /cvsroot/bf-blender/blender/Makefile.am,v
retrieving revision 1.12
diff -u -r1.12 Makefile.am
--- Makefile.am	6 May 2003 18:22:32 -0000	1.12
+++ Makefile.am	17 May 2003 10:30:32 -0000
@@ -1,3 +1,5 @@
+AUTOMAKE_OPTIONS = dist-bzip2 dist-zip
+
 SUBDIRS = intern source
 
 internlibs = \
@@ -42,6 +44,9 @@
 	$(internlibs)
 
 endif
+
+## Distribution
+extra_DIST = doc
 
 ## Assuming no reason to build creator anymore lets just call publisher blender
 if CARBON
Index: configure.ac
===================================================================
RCS file: /cvsroot/bf-blender/blender/configure.ac,v
retrieving revision 1.44
diff -u -r1.44 configure.ac
--- configure.ac	6 May 2003 18:22:32 -0000	1.44
+++ configure.ac	17 May 2003 10:30:35 -0000
@@ -9,9 +9,9 @@
 dnl AC/AM Initialization
 dnl --------------------
 
-  AC_INIT(blender-creator, 2.26, )
+  AC_INIT(blender-creator, 2.27)
   AC_CANONICAL_SYSTEM
-  AM_INIT_AUTOMAKE([blender-creator], [2.26])
+  AM_INIT_AUTOMAKE([$PACKAGE_NAME], [$PACKAGE_VERSION])
 
 dnl check for the platform make
 AC_PATH_PROGS(U_MAKE, gmake gnumake, make)
@@ -73,6 +73,9 @@
   *-*-beos* )
      CPPFLAGS="$CPPFLAGS -D__BeOS"
   ;;
+  *-*-cygwin* )
+     dnl Cygwin
+  ;;
 esac
 
 dnl -----------------------
@@ -153,17 +156,17 @@
         fi
 ])
 
-  AC_ARG_WITH(freetype2,
-    AC_HELP_STRING([--with-freetype2[=PFX]],[Path to freetype2 library]),
+  AC_ARG_WITH(ftgl,
+    AC_HELP_STRING([--with-ftgl[=PFX]],[Path to FTGL library]),
 [       if test $withval != "yes"; then
-                if test -f $withval/include/freetype2/freetype/freetype.h; then
-                        LDFLAGS="$LDFLAGS -L$withval/lib -lfreetype"
-                        CPPFLAGS="$CPPFLAGS -I$withval/include/freetype2 -DWITH_FREETYPE2"
-                        CFLAGS="$CFLAGS -I$withval/include/freetype2 -DWITH_FREETYPE2"
+                if test -f $withval/include/FTFont.h; then
+                        LDFLAGS="$LDFLAGS -L$withval/lib"
+                        CPPFLAGS="$CPPFLAGS -I$withval/include"
                 fi
         fi
 ])
 
+
   AC_ARG_WITH(libjpeg,
     AC_HELP_STRING([--with-libjpeg[=PFX]],[Path to libjpeg files]),
 [       if test $withval != "yes"; then
@@ -218,6 +221,13 @@
    [ enable_fmod=no ]  dnl default setting.
   )
 
+#Enable internationalization
+  AC_ARG_ENABLE(i18n,
+   AC_HELP_STRING([--enable-i18n],[Enable language translations (default=disable)]),
+   [ want_i18n=yes ], dnl enable
+   [ want_i18n=no  ] dnl default
+  )
+
 #Python!
   AM_PATH_PYTHON(2.0)
   AC_CACHE_CHECK([Python link args...],
@@ -244,7 +254,6 @@
   AC_CONFIG_SRCDIR([source/creator/creator.c])
   AM_CONFIG_HEADER([config.h])
 
-  AC_PATH_XTRA
   AC_HEADER_DIRENT
   AC_HEADER_STDC
   AC_HEADER_STAT
@@ -263,14 +272,25 @@
 dnl ----------------
 dnl determine what type of windowing we are using
 dnl ----------------
+  PLATFORM="unknown"
+  AC_CHECK_HEADER(X11/Xlib.h)
+  AM_CONDITIONAL(X11,[test "x$ac_cv_header_X11_Xlib_h" = "xyes"])
+  if test x$ac_cv_header_X11_Xlib_h == xyes; then
+  	PLATFORM="X11"
+  fi
+
   AC_CHECK_HEADER(windows.h)
   AM_CONDITIONAL(WIN32,[test "x$ac_cv_header_windows_h" = "xyes"])
+  if test x$ac_cv_header_windows_h == xyes; then
+  	PLATFORM="Windows"
+  fi
 
   AC_CHECK_HEADER(Carbon/Carbon.h)
   AM_CONDITIONAL(CARBON,[test "x$ac_cv_header_Carbon_Carbon_h" = "xyes"])
+  if test x$ac_cv_header_Carbon_Carbon_h == xyes; then
+  	PLATFORM="Carbon"
+  fi
 
-  AC_CHECK_HEADER(X11/Xlib.h)
-  AM_CONDITIONAL(X11,[test "x$ac_cv_header_X11_Xlib_h" = "xyes"])
 
   dnl AC_SUBST(blabla_libs)
   AC_SUBST([PYTHONSYSPREFIX],[$python_sysprefix])
@@ -338,16 +358,60 @@
    [enable_openal=no] )  dnl not found -- disable openal
 fi
 if test x$ac_cv_header_Carbon_Carbon_h != xyes; then
-  AC_CHECK_LIB([Xext], [XextFindDisplay],,,$X_LIBS -lXext -lX11 -lm $X_EXTRA_LIBS)
-  AC_CHECK_LIB([X11], [XOpenDisplay],,,$X_LIBS -lXext -lX11 -lm $X_EXTRA_LIBS)
-  AC_CHECK_LIB([GL], [glIsTexture],,,$X_LIBS -lXext -lX11 -lm $X_EXTRA_LIBS)
-  AC_CHECK_LIB([GLU], [gluGetString],,,$X_LIBS -lXext -lX11 -lm $X_EXTRA_LIBS)
+  dnl AC_CHECK_LIB([Xext], [XextFindDisplay],,,$X_LIBS -lXext -lX11 -lm $X_EXTRA_LIBS)
+  dnl AC_CHECK_LIB([X11], [XOpenDisplay],,,$X_LIBS -lXext -lX11 -lm $X_EXTRA_LIBS)
+  AC_CHECK_LIB([GL], [glIsTexture],
+  	,
+	[unset ac_cv_lib_GL_glIsTexture
+	 AC_CHECK_LIB([GL], [glIsTexture],
+	    LIBS="$LIBS $X_LIBS -lXext -lX11 -lm $X_EXTRA_LIBS -lGL",
+	    AC_MSG_NOTICE([Could not find lib GL!  GL is a required part of OpenGL]),
+	    $X_LIBS -lXext -lX11 -lm $X_EXTRA_LIBS)
+	])
+
+  dnl Try looking for GLU, if not found try looking for GLU w/ X
+  AC_CHECK_LIB([GLU], [gluGetString],
+  	,
+	[unset ac_cv_lib_GLU_gluGetString
+	 AC_CHECK_LIB([GLU], [gluGetString],
+		LIBS="$LIBS $X_LIBS -lXext -lX11 -lm $X_EXTRA_LIBS -lGLU",
+		AC_MSG_NOTICE([Could not find lib GLU!  GLU is a required part of OpenGL]),
+		$X_LIBS -lXext -lX11 -lm $X_EXTRA_LIBS)
+	])
+
 else
   if test x"$enable_quicktime" = x"yes"; then
     CPPFLAGS="$CPPFLAGS -DWITH_QUICKTIME"
   fi
+
 fi
 
+  #Freetype & FTGL
+  AC_CHECK_FT2([9.0.3], [got_freetype=yes; CPPFLAGS="$CPPFLAGS $FT2_CFLAGS"], [got_freetype=no])
+
+  AC_CHECK_HEADER(FTGL.h)
+  dnl ftgl does not export any C functions! Hack: use another helping of Zarquon's knees
+  AC_CHECK_LIB([ftgl], [printf], [got_ftgl=yes], [got_ftgl=no])
+
+
+  if test x$ac_cv_header_FTGL_h != xyes; then
+  	got_ftgl=no
+  fi
+  enable_i18n=$want_i18n
+  if test x$got_freetype != xyes || test x$got_ftgl != xyes; then
+  	enable_i18n=no
+  fi
+
+  if test x$enable_i18n == xyes; then
+  	CPPFLAGS="$CPPFLAGS -DINTERNATIONAL"
+  fi
+
+  echo Want i18n: $want_i18n Enable i18n: $enable_i18n
+
+  AM_CONDITIONAL([INTERNATIONAL],[test x$enable_i18n == xyes])
+  AC_DEFINE([GOT_FREETYPE], [$got_freetype], [FreeType found and usable])
+  AC_DEFINE([GOT_FTGL], [$got_ftgl], [FTGL found and usable])
+
 dnl ---------------------
 dnl Checks for data types
 dnl ---------------------
@@ -393,13 +457,11 @@
 		intern/bsp/Makefile
 ])
 
-if test x$enable_exppython = x"no"; then
-  AC_CONFIG_FILES([intern/python/Makefile
+AC_CONFIG_FILES([intern/python/Makefile
 		intern/python/blendermodule/Makefile
 		intern/python/freeze/Makefile
 		intern/python/modules/Makefile
-  ])
-fi
+])
 
 AC_CONFIG_FILES([intern/Makefile
 		source/blender/src/Makefile
@@ -410,18 +472,15 @@
 		source/blender/blenpluginapi/Makefile
 ])
 
-if test x$enable_exppython = x"yes"; then
-  AC_CONFIG_FILES([source/blender/python/Makefile
+AC_CONFIG_FILES([source/blender/python/Makefile
 		source/blender/python/api2_2x/Makefile
-  ])
-else
-  AC_CONFIG_FILES([source/blender/bpython/Makefile
-  ])
-fi
+		source/blender/bpython/Makefile
+])
 
 AC_CONFIG_FILES([source/blender/decrypt/Makefile
 		source/blender/deflate/Makefile
 		source/blender/encrypt/Makefile
+		source/blender/ftfont/Makefile
 		source/blender/imbuf/Makefile
 		source/blender/img/Makefile
 		source/blender/inflate/Makefile
@@ -455,4 +514,51 @@
 		source/icons/Makefile
 		source/Makefile
 ])
+
+AC_CONFIG_COMMANDS([print], [cat << EOF
+
+                        http://www.blender.org/
+**************************************************************************
+
+Blender $PACKAGE_VERSION is now configured.
+
+Platform: $PLATFORM
+
+Sanity:
+	OpenGL: GL: $SANITY_GL GLU: $SANITY_GLU
+
+Blender options:
+	Gameblender: $USE_GAMEBLENDER
+	OpenAL: $USE_OPENAL
+	Experimental Python: $EXPPYTHON
+	I18n: $INTERNATIONAL (FreeType: $got_freetype FTGL: $got_ftgl)
+
+Compiler Options:
+	CFLAGS=$cflags
+	CPPFLAGS=$cppflags
+	CXXFLAGS=$cxxflags
+	LDFLAGS=$ldflags
+
+
+Configure has finished.  Start 'make' now.
+EOF
+],[USE_GAMEBLENDER=$use_gameblender
+   USE_OPENAL=$enable_openal
+   EXPPYTHON=$enable_exppython
+   INTERNATIONAL=$enable_i18n
+   got_freetype=$got_freetype
+   got_ftgl=$got_ftgl
+   cflags="$CFLAGS"
+   cppflags="$CPPFLAGS"
+   cxxflags="$CXXFLAGS"
+   ldflags="$LDFLAGS"
+   SANITY_GL=$ac_cv_lib_GL_glIsTexture
+   SANITY_GLU=$ac_cv_lib_GLU_gluGetString
+   PLATFORM=$PLATFORM
+   PACKAGE_VERSION=$PACKAGE_VERSION
+  ]
+)
 AC_OUTPUT
+
+
+
Index: source/Makefile.am
===================================================================
RCS file: /cvsroot/bf-blender/blender/source/Makefile.am,v
retrieving revision 1.16
diff -u -r1.16 Makefile.am
--- source/Makefile.am	29 Apr 2003 19:19:01 -0000	1.16
+++ source/Makefile.am	17 May 2003 10:30:35 -0000
@@ -33,6 +33,12 @@
 blenquicktimelib = 
 endif
 
+if INTERNATIONAL
+blenftfontlib = blender/ftfont/libblender_ftfont.la
+else
+blenftfontlib =
+endif
+
 LIBS =
 
 SUBDIRS = blender kernel creator $(gameblenderdir) $(icondir)
@@ -68,7 +74,8 @@
 	blender/blenlib/libblender_blenlib.la \
 	$(blenpythonlib) \
 	blender/makesdna/libblender_makesdna.la \
-	kernel/libblender_kernel.la
+	kernel/libblender_kernel.la \
+	$(blenftfontlib)
 
 libblender_player_la_SOURCES =
 
Index: source/blender/src/Makefile.am
===================================================================
RCS file: /cvsroot/bf-blender/blender/source/blender/src/Makefile.am,v
retrieving revision 1.11
diff -u -r1.11 Makefile.am
--- source/blender/src/Makefile.am	29 Apr 2003 19:19:04 -0000	1.11
+++ source/blender/src/Makefile.am	17 May 2003 10:30:35 -0000
@@ -4,6 +4,12 @@
   blenpythoninclude = -I$(top_srcdir)/source/blender/bpython/include
 endif
 
+if INTERNATIONAL
+  bleni18ninclude = -I$(top_srcdir)/source/blender/ftfont
+else
+  bleni18ninclude =
+endif
+
 noinst_LTLIBRARIES = libblender_blendersrc.la
 
 LIBS =
@@ -63,6 +69,7 @@
 	imasel.c \
 	interface.c \
 	keyval.c \
+	language.c \
 	mainqueue.c \
 	mywindow.c \
 	oops.c \
@@ -113,7 +120,8 @@
 	-I$(top_srcdir)/source/blender/readstreamglue \
 	-I$(top_srcdir)/source/blender/img \
 	-I$(top_srcdir)/source/blender/quicktime \
-	-I$(top_srcdir)/intern/ghost
+	-I$(top_srcdir)/intern/ghost \
+	$(bleni18ninclude)
 
 EXTRA_DIST = \
 	Makefile
*** /dev/null	Thu Jan  1 12:00:00 1970
--- source/blender/ftfont/Makefile.am	Fri May 16 00:23:08 2003
***************
*** 0 ****
--- 1,24 ----
+ noinst_LTLIBRARIES = libblender_ftfont.la
+ 
+ LIBS =
+ 
+ libblender_ftfont_la_SOURCES = \
+ 	intern/FTF_Api.cpp \
+ 	intern/FTF_TTFont.cpp \
+ 	intern/FTF_TTFont.h \
+ 	FTF_Api.h \
+ 	FTF_Settings.h
+ 
+ INCLUDES = -I$(top_srcdir)/intern/guardedalloc \
+ 	-I$(top_srcdir)/source/blender/makesdna \
+ 	-I$(top_srcdir)/source/blender/blenkernel \
+ 	-I$(top_srcdir)/source/blender/blenlib \
+ 	-I$(FTGL_INCLUDE) \
+ 	-I$(FREETYPE_INCLUDE)
+ 
+ EXTRA_DIST = \
+ 	Makefile \
+ 	intern/Makefile \
+ 	intern/source/Makefile
+ 
+ libblender_ftfont_la_LIBADD = -lftgl

--Boundary-00=_cShx+1y5OO6hWTB--