]> git.sesse.net Git - vlc/blobdiff - toolbox
* ./bootstrap, ./toolbox: moved the Glade bugs fixing to toolbox, now
[vlc] / toolbox
diff --git a/toolbox b/toolbox
index e8667adb997c825f9378d831c73bee4dbb185119..23ec471c1307066fa79c697672da868ba6834217 100755 (executable)
--- a/toolbox
+++ b/toolbox
@@ -1,7 +1,7 @@
 #! /bin/sh
 
 ##  toolbox for vlc, the VideoLAN Client
-##  $Id: toolbox,v 1.5 2003/01/16 12:49:28 sam Exp $
+##  $Id: toolbox,v 1.6 2003/01/28 17:11:38 sam Exp $
 ##
 ##  Authors: Samuel Hocevar <sam@zoy.org>
 
@@ -22,6 +22,7 @@ help()
 recognized flags are:
   --update-vc     update Microsoft Visual Studio files
   --update-po     update translation files
+  --fix-glade     fix Glade-generated files
 EOF
   exit 1
 }
@@ -32,6 +33,7 @@ EOF
 do_help=yes
 do_po=no
 do_vc=no
+do_glade=no
 while test $# -gt 0; do
   case "$1" in
     --update-vc)
@@ -42,6 +44,10 @@ while test $# -gt 0; do
       do_help=no
       do_po=yes
       ;;
+    --fix-glade)
+      do_help=no
+      do_glade=yes
+      ;;
     *)
       echo "$0: unknown option $1"
       do_help=yes
@@ -304,3 +310,55 @@ then
   exit 0
 fi
 
+##
+##  Fix glade-generated files
+##
+if test "$do_glade" = "yes"
+then
+  for file in modules/gui/gtk/gnome.glade modules/gui/gtk/gtk.glade modules/gui/familiar/familiar.glade
+  do
+    echo "generating code from $file"
+    glade -w $file || exit 1
+  done
+
+  for file in modules/gui/gtk/gnome_interface.c modules/gui/gtk/gtk_interface.c modules/gui/familiar/interface.c
+  do
+    echo "fixing $file"
+    if grep "DO NOT EDIT THIS FILE" $file 2>&1 > /dev/null
+    then
+      rm -f $file.$$.bak
+      cat > $file.$$.bak << EOF
+/* This file was created automatically by glade and fixed by bootstrap */
+
+#include <vlc/vlc.h>
+EOF
+      sed -e 1,7d \
+          -e 's#_(\(".:..:.."\))#\1#' \
+          -e 's#_(\("[a-z]*://[^"]*"\))#\1#' \
+          -e 's#_("---")#"---"#' \
+          -e 's#_("--")#"--"#' \
+          -e 's#_("/dev/dvd")#"/dev/dvd"#' \
+          -e 's#_(\("./."\))#\1#' \
+          < $file >> $file.$$.bak
+      mv -f $file.$$.bak $file
+    fi
+  done
+
+  for file in modules/gui/gtk/gtk_support.h modules/gui/familiar/support.h
+  do
+    echo "fixing $file"
+    if grep "DO NOT EDIT THIS FILE" $file 2>&1 > /dev/null
+    then
+      rm -f $file.$$.bak
+      sed -e 's/DO NOT EDIT.*/Created by glade, fixed by bootstrap/' \
+          -e 's,<config.h>,<vlc/vlc.h>,' \
+          -e 's,#if.*ENABLE_NLS.*,#if 0 /* Disabled by bootstrap */,' \
+          -e 's,#else,/* & */,' \
+          < $file > $file.$$.bak
+      mv -f $file.$$.bak $file
+    fi
+  done
+
+  exit 0
+fi
+