E..4 インストール・メモ

手元に glscwin_0.82.lzh というファイルがある。
まずはばらす
  mkdir glscwin_0.82
  cd glscwin_0.82
  lha x ../glscwin_0.82.lzh

glsc_ext.c の修正
mathpc% diff -c glsc_ext.c.org glsc_ext.c
*** glsc_ext.c.org      Mon Jun 28 03:30:28 1999
--- glsc_ext.c  Tue May 20 23:32:29 2008
***************
*** 797,803 ****
    g_area_rgb(c.r, c.g, c.b);
  }
  /***************************************/
! double g_color_gen_func(x)
  /***************************************/
    G_FLOAT x;
  {
--- 797,803 ----
    g_area_rgb(c.r, c.g, c.b);
  }
  /***************************************/
! G_FLOAT g_color_gen_func(x)
  /***************************************/
    G_FLOAT x;
  {
mathpc% 

コンパイルしてライブラリィ・アーカイブ・ファイルを作る
mathpc% cat make.sh
#!/bin/sh
#CFLAGS=-W -Wall
gcc $CFLAGS -c -O glsc.c
gcc $CFLAGS -c -O glsc_ext.c
#gcc $CFLAGS -c -O glsc_win.c
gcc $CFLAGS -c glsc_win.c
gcc $CFLAGS -c -O ezfont.c
ar cru libglscs.a glsc.o glsc_ext.o glsc_win.o ezfont.o
ranlib libglscs.a

gcc $CFLAGS -c -O -DG_DOUBLE glsc.c
gcc $CFLAGS -c -O -DG_DOUBLE glsc_ext.c
#gcc $CFLAGS -c -O -DG_DOUBLE glsc_win.c
gcc $CFLAGS -c -DG_DOUBLE glsc_win.c
gcc $CFLAGS -c -O ezfont.c
ar cru libglscd.a glsc.o glsc_ext.o glsc_win.o ezfont.o
ranlib libglscd.a
mathpc% 

glsc_win.c だけコンパイルに -O をつけていないが、
    while (TRUE) {
      if (w_lbutton_down == G_YES) {
        break ;
      }
    }
というくだりがあるからである。volatile する方が正しいか?

倍精度ライブラリィとコンパイル&リンクするためのスクリプト例 -- cglscd
#!/bin/sh

GLSCDIR=/usr/local/glscwin-ver0.82
KANJI="-finput-charset=cp932 -fexec-charset=cp932"
#CFLAGS="-W -Wall -O -DG_DOUBLE -I$GLSCDIR/include"
CFLAGS="-O -DG_DOUBLE -I$GLSCDIR/include"
LDFLAGS="-L$GLSCDIR/lib -lglscd -luser32 -lgdi32 -lwinmm -lcomdlg32 -lcomctl32 -lm"

prog=`basename $1 .c`

gcc $KANJI $CFLAGS -o $prog "$@" $LDFLAGS



桂田 祐史