diff --git a/ChangeLog b/ChangeLog index 28cb2e10b1..9612ad5f26 100644 --- a/ChangeLog +++ b/ChangeLog @@ -1,3 +1,36 @@ +1999-06-28 Tor Lillqvist + + * */makefile.msc: Use the DEBUG nmake variable to determine + whether to build for debugging or not. + + * libgimp/gimp.def: Add some missing entry points. + + * plug-ins/makefile.msc: Redo as to Yosh's reorg of the + sources. Add some plug-ins missing earlier. (For instance print, + which only prints to files on Win32. We still need a real Win32 + print plug-in. Much code probably could be lifted from the bmp + plug-in.) + + * plug-ins/MapObject/arcball.c: Change Qt_ToMatrix() to void, + instead of returning the address of its parameter (dubious + practise), as its value is never used anyway. + + For the following changes, thanks to Hans Breuer: + + * plug-ins/FractalExplorer/Dialogs.h: Check for feof, not to get + into an endless loop on malformed files. + + * plug-ins/common/header.c: Support indexed images. + + * plug-ins/common/sunras.c + * plug-ins/common/xwd.c + * plug-ins/print/print.h + * plug-ins/sgi/sgi.h: Include config.h, guard inclusion of + unistd.h. + + * plug-ins/print/print.c: Guard for SIGBUS being undefined. Open + output file in binary mode. + 1999-06-28 Sven Neumann Michael Natterer diff --git a/app/makefile.msc b/app/makefile.msc index 90d9bbce27..a250d9b128 100644 --- a/app/makefile.msc +++ b/app/makefile.msc @@ -4,20 +4,24 @@ # Change this to wherever you want to install gimp.exe. BIN = C:\gimp\bin +!IFNDEF DEBUG # Full optimization: -#OPTIMIZE = -Ox +OPTIMIZE = -Ox -MD +LINKDEBUG = /subsystem:windows +!ELSE # Debugging: -OPTIMIZE = -Zi +OPTIMIZE = -Zi -MDd +LINKDEBUG = /subsystem:console /debug +!ENDIF ################################################################ # Nothing much configurable below # cl -? describes the options -CC = cl -GA -G5 -GF $(OPTIMIZE) -W3 -MD -nologo +CC = cl -GA -G5 -GF $(OPTIMIZE) -W3 -nologo -# Change to /subsystem:console when debugging -LDFLAGS = /link /subsystem:windows /machine:ix86 /debug +LDFLAGS = /link /machine:ix86 $(LINKDEBUG) INSTALL = copy GIMP_VER = 1.1 @@ -53,6 +57,7 @@ gimpim_OBJECTS = \ gimpdrawable.obj\ gimpimage.obj \ gimpobject.obj \ + gimppreviewcache.obj\ gimpset.obj \ gimpsignal.obj diff --git a/libgimp/gimp.def b/libgimp/gimp.def index d39b15b982..adf976e270 100644 --- a/libgimp/gimp.def +++ b/libgimp/gimp.def @@ -30,14 +30,19 @@ EXPORTS gimp_display_delete gimp_display_new gimp_displays_flush + gimp_drawable_attach_new_parasite + gimp_drawable_attach_parasite gimp_drawable_bpp gimp_drawable_channel gimp_drawable_color gimp_drawable_delete gimp_drawable_detach + gimp_drawable_detach_parasite gimp_drawable_fill + gimp_drawable_find_parasite gimp_drawable_flush gimp_drawable_get + gimp_drawable_get_thumbnail_data gimp_drawable_get_tile gimp_drawable_get_tile2 gimp_drawable_gray diff --git a/libgimp/makefile.msc b/libgimp/makefile.msc index f13a841625..2dc6c59a0f 100644 --- a/libgimp/makefile.msc +++ b/libgimp/makefile.msc @@ -16,13 +16,21 @@ GIMPDIR = _gimp$(GIMP_VER) # Nothing much configurable below -# cl -? describes the options -#CC = cl -G5 -GF -Ox -W3 -MD -nologo -CC = cl -G5 -GF -Zi -W3 -MD -nologo +!IFNDEF DEBUG +# Full optimization: +OPTIMIZE = -Ox -MD +LINKDEBUG = +!ELSE +# Debugging: +OPTIMIZE = -Zi -MDd +LINKDEBUG = /debug +!ENDIF -LDFLAGS = /link /debug +# cl -? describes the options +CC = cl -G5 -GF $(OPTIMIZE) -W3 -nologo + +LDFLAGS = /link $(LINKDEBUG) INSTALL = copy -TOUCH = copy makefile.msc+nul GTK_VER = 1.3 GLIB_VER = 1.3 @@ -39,7 +47,6 @@ all : \ gimpi.lib \ gimp-$(GIMP_VER).dll \ gimpui-$(GIMP_VER).dll - $(TOUCH) all ..\config.h : ..\config.h.win32 copy ..\config.h.win32 ..\config.h @@ -50,7 +57,6 @@ gimpfeatures.h : gimpfeatures.h.win32 install : all $(INSTALL) gimp-$(GIMP_VER).dll $(BIN) $(INSTALL) gimpui-$(GIMP_VER).dll $(BIN) - $(TOUCH) install gimpi_OBJECTS = \ gimpenv.obj \ diff --git a/plug-ins/FractalExplorer/Dialogs.h b/plug-ins/FractalExplorer/Dialogs.h index 9bb9092e0c..7447b4b670 100644 --- a/plug-ins/FractalExplorer/Dialogs.h +++ b/plug-ins/FractalExplorer/Dialogs.h @@ -2071,7 +2071,7 @@ load_options(fractalexplorerOBJ * xxx, FILE * fp) get_line(load_buf, MAX_LOAD_LINE, fp, 0); - while (strcmp(load_buf, "")) { + while (!feof(fp) && strcmp(load_buf, "")) { /* Get option name */ sscanf(load_buf, "%s %s", str_buf, opt_buf); @@ -2199,7 +2199,7 @@ gradient_load_options(gradientOBJ * xxx, FILE * fp) get_line(load_buf, MAX_LOAD_LINE, fp, 0); - while (strcmp(load_buf, "")) { + while (!feof(fp) && strcmp(load_buf, "")) { /* Get option name */ sscanf(load_buf, "%s %s", str_buf, opt_buf); diff --git a/plug-ins/MapObject/arcball.c b/plug-ins/MapObject/arcball.c index 362d6b8177..59695ad947 100644 --- a/plug-ins/MapObject/arcball.c +++ b/plug-ins/MapObject/arcball.c @@ -43,7 +43,7 @@ void ArcBall_CopyMat(HMatrix inm,HMatrix outm); /* Internal methods */ /* ================ */ -HMatrix *Qt_ToMatrix(Quat q,HMatrix out); +void Qt_ToMatrix(Quat q,HMatrix out); Quat Qt_Conj(Quat q); Quat Qt_Mul(Quat qL, Quat qR); Quat Qt_FromBallPoints(HVect from, HVect to); @@ -211,7 +211,7 @@ Quat Qt_Mul(Quat qL, Quat qR) /* system and right-handed rotations. */ /* ============================================================== */ -HMatrix *Qt_ToMatrix(Quat q, HMatrix out) +void Qt_ToMatrix(Quat q, HMatrix out) { double Nq = q.x*q.x + q.y*q.y + q.z*q.z + q.w*q.w; double s = (Nq > 0.0) ? (2.0 / Nq) : 0.0; @@ -224,7 +224,6 @@ HMatrix *Qt_ToMatrix(Quat q, HMatrix out) out[X][Z] = xz + wy; out[Y][Z] = yz - wx; out[Z][Z] = 1.0 - (xx + yy); out[X][W] = out[Y][W] = out[Z][W] = out[W][X] = out[W][Y] = out[W][Z] = 0.0; out[W][W] = 1.0; - return ((HMatrix *)&out); } /* Return conjugate of quaternion. */ diff --git a/plug-ins/common/header.c b/plug-ins/common/header.c index cf11bd7de1..a1bc68e01e 100644 --- a/plug-ins/common/header.c +++ b/plug-ins/common/header.c @@ -47,7 +47,7 @@ query () "Spencer Kimball & Peter Mattis", "1997", "/Header", - "RGB*", + "INDEXED*, RGB*", PROC_PLUG_IN, nsave_args, 0, save_args, NULL); @@ -98,6 +98,8 @@ save_image (char *filename, gchar buf[4]; guchar *d; guchar *data; + unsigned char *cmap; + int colors; if ((fp = fopen (filename, "w")) == NULL) return FALSE; @@ -106,46 +108,100 @@ save_image (char *filename, drawable_type = gimp_drawable_type (drawable_ID); gimp_pixel_rgn_init (&pixel_rgn, drawable, 0, 0, drawable->width, drawable->height, FALSE, FALSE); - fprintf (fp, "/* GIMP header image file format (RGB-only): %s */\n\n", filename); + fprintf (fp, "/* GIMP header image file format (%s): %s */\n\n", + RGB_IMAGE == drawable_type ? "RGB" : "INDEXED", filename); fprintf (fp, "static unsigned int width = %d;\n", drawable->width); fprintf (fp, "static unsigned int height = %d;\n\n", drawable->height); fprintf (fp, "/* Call this macro repeatedly. After each use, the pixel data can be extracted */\n\n"); - fprintf (fp, "#define HEADER_PIXEL(data,pixel) \\\n pixel[0] = (((data[0] - 33) << 2) | ((data[1] - 33) >> 4)); \\\n pixel[1] = ((((data[1] - 33) & 0xF) << 4) | ((data[2] - 33) >> 2)); \\\n pixel[2] = ((((data[2] - 33) & 0x3) << 6) | ((data[3] - 33))); \\\n data += 4;\n\n"); - fprintf (fp, "static char *header_data =\n\t\""); - - data = g_new (guchar, drawable->width * drawable->bpp); - - c = 0; - for (y = 0; y < drawable->height; y++) + switch (drawable_type) { - gimp_pixel_rgn_get_row (&pixel_rgn, data, 0, y, drawable->width); - for (x = 0; x < drawable->width; x++) + case RGB_IMAGE: + fprintf (fp, "#define HEADER_PIXEL(data,pixel) {\\\n pixel[0] = (((data[0] - 33) << 2) | ((data[1] - 33) >> 4)); \\\n pixel[1] = ((((data[1] - 33) & 0xF) << 4) | ((data[2] - 33) >> 2)); \\\n pixel[2] = ((((data[2] - 33) & 0x3) << 6) | ((data[3] - 33))); \\\n data += 4;\n}\n"); + fprintf (fp, "static char *header_data =\n\t\""); + + data = g_new (guchar, drawable->width * drawable->bpp); + + c = 0; + for (y = 0; y < drawable->height; y++) { - d = data + x * drawable->bpp; - - buf[0] = ((d[0] >> 2) & 0x3F) + 33; - buf[1] = ((((d[0] & 0x3) << 4) | (d[1] >> 4)) & 0x3F) + 33; - buf[2] = ((((d[1] & 0xF) << 2) | (d[2] >> 6)) & 0x3F) + 33; - buf[3] = (d[2] & 0x3F) + 33; - - for (b = 0; b < 4; b++) - if (buf[b] == 34) - fwrite (quote, 1, 2, fp); - else if (buf[b] == 92) - fwrite (backslash, 1, 2, fp); - else - fwrite (buf + b, 1, 1, fp); - - c++; - if (c >= 16) + gimp_pixel_rgn_get_row (&pixel_rgn, data, 0, y, drawable->width); + for (x = 0; x < drawable->width; x++) { - fwrite (newline, 1, 4, fp); - c = 0; + d = data + x * drawable->bpp; + + buf[0] = ((d[0] >> 2) & 0x3F) + 33; + buf[1] = ((((d[0] & 0x3) << 4) | (d[1] >> 4)) & 0x3F) + 33; + buf[2] = ((((d[1] & 0xF) << 2) | (d[2] >> 6)) & 0x3F) + 33; + buf[3] = (d[2] & 0x3F) + 33; + + for (b = 0; b < 4; b++) + if (buf[b] == '"') + fwrite (quote, 1, 2, fp); + else if (buf[b] == '\\') + fwrite (backslash, 1, 2, fp); + else + fwrite (buf + b, 1, 1, fp); + + c++; + if (c >= 16) + { + fwrite (newline, 1, 4, fp); + c = 0; + } } } - } + fprintf (fp, "\";\n"); + break; + + case INDEXED_IMAGE: + fprintf (fp, "#define HEADER_PIXEL(data,pixel) {\\\n pixel[0] = header_data_cmap[(unsigned char)data[0]][0]; \\\n pixel[1] = header_data_cmap[(unsigned char)data[0]][1]; \\\n pixel[2] = header_data_cmap[(unsigned char)data[0]][2]; \\\n data ++; }\n\n"); + /* save colormap */ + cmap = gimp_image_get_cmap (image_ID, &colors); + + fprintf (fp, "static char header_data_cmap[256][3] = {"); + fprintf(fp, "\n\t{%3d,%3d,%3d}", (int)cmap[0], (int)cmap[1], (int)cmap[2]); + for (c = 1; c < colors; c++) + fprintf(fp, ",\n\t{%3d,%3d,%3d}", (int)cmap[3*c], (int)cmap[3*c+1], (int)cmap[3*c+2]); + /* fill the rest */ + for ( ; c < 256; c++) + fprintf(fp, ",\n\t{255,255,255}"); + /* close bracket */ + fprintf(fp, "\n\t};\n"); + g_free(cmap); + + /* save image */ + fprintf (fp, "static char header_data[] = {\n\t"); + + data = g_new (guchar, drawable->width * drawable->bpp); + + c = 0; + for (y = 0; y < drawable->height; y++) + { + gimp_pixel_rgn_get_row (&pixel_rgn, data, 0, y, drawable->width); + for (x = 0; x < drawable->width-1; x++) + { + d = data + x * drawable->bpp; + + fprintf(fp, "%d,", (int)d[0]); + + c++; + if (c >= 16) + { + fprintf (fp, "\n\t"); + c = 0; + } + } + + if (y != drawable->height - 1) + fprintf(fp, "%d,\n\t", (int)d[1]); + else + fprintf(fp, "%d\n\t", (int)d[1]); + c = 0; /* reset line counter */ + } + fprintf (fp, "};\n"); + break; + } /* switch (drawable_type) */ - fprintf (fp, "\";\n"); fclose (fp); g_free (data); diff --git a/plug-ins/common/sunras.c b/plug-ins/common/sunras.c index 4dd766a8f3..07c5f916c5 100644 --- a/plug-ins/common/sunras.c +++ b/plug-ins/common/sunras.c @@ -36,10 +36,15 @@ */ static char ident[] = "@(#) GIMP SunRaster file-plugin v1.95 20-Dec-97"; +#include "config.h" + #include #include #include +#ifdef HAVE_UNISTD_H #include +#endif + #include "gtk/gtk.h" #include "libgimp/gimp.h" diff --git a/plug-ins/common/xwd.c b/plug-ins/common/xwd.c index 868f240783..05c85302db 100644 --- a/plug-ins/common/xwd.c +++ b/plug-ins/common/xwd.c @@ -47,10 +47,14 @@ static char ident[] = "@(#) GIMP XWD file-plugin v1.93 11-Apr-98"; #include "config.h" + #include #include #include +#ifdef HAVE_UNISTD_H #include +#endif + #include "libgimp/gimp.h" #include "libgimp/stdplugins-intl.h" diff --git a/plug-ins/makefile.msc b/plug-ins/makefile.msc index 36d3b81437..76755d2cb2 100644 --- a/plug-ins/makefile.msc +++ b/plug-ins/makefile.msc @@ -1,6 +1,6 @@ -# Makefile to build the GIMP plug-ins with Microsoft nmake +# Makefile to build the GIMP plug-ins with Microsoft nmake and compiler -# I don't want to use too many makefiles, so this is quite complex. +# I don't want to use many hand-written makefiles, so this is quite complex. # This same makefile is also included by sub-makes called as subroutines. # Various parts of this file are used when makeing from the plug-ins directory, # and when building individual plug-ins and the three plug-in libraries. @@ -19,14 +19,18 @@ BIN = $(GIMP)\plug-ins FROMPLUGINSDIR=YES # Used to bypass other parts below # List plug-ins. We must use several lists to work around nmake's limits -SIMPLE1 = AlienMap CEL CML_explorer FractalExplorer align_layers animationplay animoptimize apply_lens autocrop autostretch_hsv blinds blur borderaverage bumpmap c_astretch checkerboard colorify compose convmatrix cubism -SIMPLE2 = decompose deinterlace depthmerge despeckle destripe diffraction displace edge emboss engrave exchange film flarefx fractaltrace -SIMPLE3 = gauss_iir gauss_rle gbr gee gfig gicon gif gifload glasstile gqbist gradmap grid gtm guillotine header hot hrz gz illusion jigsaw laplace lic -SIMPLE4 = mapcolor max_rgb mblur mosaic newsprint nlfilt noisify normalize nova oilify pagecurl palette papertile pat pcx pix pixelize plasma plugindetails pnm polar ps psd randomize ripple rotate rotators -SIMPLE5 = scatter_hsv semiflatten sharpen shift sinus smooth_palette snoise sobel sparkle spread struc tga threshold_alpha tile tileit tiler video vinvert vpropagate waves whirlpinch wind wmf xbm zealouscrop -COMPLEX1 = Lighting MapObject bmp dbbrowser faxg3 fits flame fp gfli ifscompose iwarp jpeg maze png rcm tiff -# These are unofficial, ie not in the CVS To build these, you should +# The COMMON* ones are in the common subdirectory +COMMON1 = CEL CML_explorer align_layers animationplay animoptimize apply_lens autocrop autostretch_hsv blinds blur borderaverage bumpmap c_astretch checkerboard colorify compose convmatrix cubism +COMMON2 = decompose deinterlace depthmerge despeckle destripe diffraction displace edge emboss engrave exchange film flarefx fractaltrace +COMMON3 = gauss_iir gauss_rle gbr gee gicon gif gifload glasstile gqbist gradmap grid gtm guillotine header hot hrz gz illusion jigsaw jpeg laplace lic +COMMON4 = mapcolor max_rgb mblur newsprint nlfilt noisify normalize nova oilify palette papertile pat pcx pix pixelize plasma plugindetails png pnm polar ps psd randomize ripple rotate rotators +COMMON5 = scatter_hsv semiflatten sharpen shift smooth_palette snoise sobel sparkle spread tga threshold_alpha tiff tile tileit tiler video vinvert vpropagate waves whirlpinch wind wmf xbm zealouscrop + +# These have own subdirectories each +SEPARATE = AlienMap FractalExplorer Lighting MapObject bmp dbbrowser faxg3 fits flame fp gfig gfli ifscompose maze mosaic pagecurl print rcm sgi sinus struc unsharp + +# These are unofficial, ie not in the CVS. To build these, you should # get tml's source snapshot and copy this makefile to the # ..\unofficial-plug-ins directory, and do "nmake -f makefile.msc unofficial". @@ -34,17 +38,17 @@ UNOFFICIAL = guash user_filter twain # The main target -all : ..\config.h libs-all simple-plugins-all complex-plugins-all +all : ..\config.h libs-all common-plugins-all separate-plugins-all ..\config.h : ..\config.h.win32 copy ..\config.h.win32 ..\config.h -install : libs-install simple-plugins-install complex-plugins-install scripts-install +install : libs-install common-plugins-install separate-plugins-install scripts-install unofficial: - for %d in ($(UNOFFICIAL)) do nmake -nologo -f makefile.msc sub-one-complex DIR=%d TARGET=install + for %d in ($(UNOFFICIAL)) do nmake -nologo -f makefile.msc sub-one-separate DIR=%d TARGET=install -clean : libs-clean simple-plugins-clean complex-plugins-clean +clean : libs-clean common-plugins-clean separate-plugins-clean libs-all : @nmake -nologo -f makefile.msc sub-libs TARGET=all @@ -68,51 +72,51 @@ sub-libs: -simple-plugins-all : - @nmake -nologo -f makefile.msc sub-simple-plugins TARGET=all +common-plugins-all : + @nmake -nologo -f makefile.msc sub-common-plugins TARGET=all -simple-plugins-install : - @nmake -nologo -f makefile.msc sub-simple-plugins TARGET=install +common-plugins-install : + @nmake -nologo -f makefile.msc sub-common-plugins TARGET=install -simple-plugins-clean : - @nmake -nologo -f makefile.msc sub-simple-plugins TARGET=clean +common-plugins-clean : + @nmake -nologo -f makefile.msc sub-common-plugins TARGET=clean -sub-simple-plugins : - for %d in ($(SIMPLE1)) do nmake -nologo -f makefile.msc sub-one-simple DIR=%d TARGET=$(TARGET) - for %d in ($(SIMPLE2)) do nmake -nologo -f makefile.msc sub-one-simple DIR=%d TARGET=$(TARGET) - for %d in ($(SIMPLE3)) do nmake -nologo -f makefile.msc sub-one-simple DIR=%d TARGET=$(TARGET) - for %d in ($(SIMPLE4)) do nmake -nologo -f makefile.msc sub-one-simple DIR=%d TARGET=$(TARGET) - for %d in ($(SIMPLE5)) do nmake -nologo -f makefile.msc sub-one-simple DIR=%d TARGET=$(TARGET) +sub-common-plugins : + for %d in ($(COMMON1)) do nmake -nologo -f makefile.msc sub-one-common DIR=%d TARGET=$(TARGET) + for %d in ($(COMMON2)) do nmake -nologo -f makefile.msc sub-one-common DIR=%d TARGET=$(TARGET) + for %d in ($(COMMON3)) do nmake -nologo -f makefile.msc sub-one-common DIR=%d TARGET=$(TARGET) + for %d in ($(COMMON4)) do nmake -nologo -f makefile.msc sub-one-common DIR=%d TARGET=$(TARGET) + for %d in ($(COMMON5)) do nmake -nologo -f makefile.msc sub-one-common DIR=%d TARGET=$(TARGET) -sub-one-simple : - @cd $(DIR) - @nmake -nologo -f ..\makefile.msc TOP=..\.. PLUGIN=$(DIR) $(TARGET) +sub-one-common : + @cd common + @nmake -nologo -f ..\makefile.msc TOP=..\.. PLUGIN=$(DIR) EXTRA_$(DIR)=1 $(TARGET) -complex-plugins-all : - @nmake -nologo -f makefile.msc sub-complex-plugins TARGET=all +separate-plugins-all : + @nmake -nologo -f makefile.msc sub-separate-plugins TARGET=all -complex-plugins-install : - @nmake -nologo -f makefile.msc sub-complex-plugins TARGET=install +separate-plugins-install : + @nmake -nologo -f makefile.msc sub-separate-plugins TARGET=install -complex-plugins-clean : - @nmake -nologo -f makefile.msc sub-complex-plugins TARGET=clean +separate-plugins-clean : + @nmake -nologo -f makefile.msc sub-separate-plugins TARGET=clean -sub-complex-plugins : - for %d in ($(COMPLEX1)) do nmake -nologo -f makefile.msc sub-one-complex DIR=%d TARGET=$(TARGET) +sub-separate-plugins : + for %d in ($(SEPARATE)) do nmake -nologo -f makefile.msc sub-one-separate DIR=%d TARGET=$(TARGET) # We must handle script-fu separately because of the dash, sigh @cd script-fu - @nmake -nologo -f ..\makefile.msc TOP=..\.. PLUGIN=script-fu COMPLEX_script_fu=1 $(TARGET) + @nmake -nologo -f ..\makefile.msc TOP=..\.. PLUGIN=script-fu EXTRA_script_fu=1 $(TARGET) @cd .. -sub-one-complex : - @cd $(DIR) - @nmake -nologo -f ..\makefile.msc TOP=..\.. PLUGIN=$(DIR) COMPLEX_$(DIR)=1 $(TARGET) +sub-one-separate : + cd $(DIR) + nmake -nologo -f ..\makefile.msc TOP=..\.. PLUGIN=$(DIR) EXTRA_$(DIR)=1 $(TARGET) scripts-install : @@ -129,7 +133,7 @@ scripts-install : # This part is used when building individual plug-ins or one of # the libraries. -!IFDEF COMPLEX_Lighting +!IFDEF EXTRA_Lighting OBJECTS = \ lighting_apply.obj \ lighting_image.obj \ @@ -139,7 +143,7 @@ OBJECTS = \ lighting_ui.obj !ENDIF -!IFDEF COMPLEX_MapObject +!IFDEF EXTRA_MapObject OBJECTS = \ arcball.obj \ mapobject_apply.obj \ @@ -150,33 +154,33 @@ OBJECTS = \ mapobject_ui.obj !ENDIF -!IFDEF COMPLEX_bmp +!IFDEF EXTRA_bmp OBJECTS = \ bmp.obj \ bmpread.obj \ bmpwrite.obj !ENDIF -!IFDEF COMPLEX_dbbrowser +!IFDEF EXTRA_dbbrowser OBJECTS = \ dbbrowser.obj \ dbbrowser_utils.obj !ENDIF -!IFDEF COMPLEX_faxg3 +!IFDEF EXTRA_faxg3 OBJECTS = \ faxg3.obj \ g3.obj \ run_tbl.obj !ENDIF -!IFDEF COMPLEX_fits +!IFDEF EXTRA_fits OBJECTS = \ fits.obj \ fitsrw.obj !ENDIF -!IFDEF COMPLEX_flame +!IFDEF EXTRA_flame OBJECTS = \ cmap.obj \ flame.obj \ @@ -184,7 +188,7 @@ OBJECTS = \ rect.obj !ENDIF -!IFDEF COMPLEX_fp +!IFDEF EXTRA_fp OBJECTS = \ fp.obj \ fp_gdk.obj \ @@ -193,7 +197,7 @@ OBJECTS = \ fp_misc.obj !ENDIF -!IFDEF COMPLEX_gdyntext +!IFDEF EXTRA_gdyntext # Doesn't compile yet, though, so not included in list above OBJECTS = \ charmap.obj \ @@ -204,29 +208,26 @@ OBJECTS = \ message_window.obj !ENDIF -!IFDEF COMPLEX_gfli +!IFDEF EXTRA_gfli OBJECTS = \ fli.obj \ gfli.obj !ENDIF -!IFDEF COMPLEX_ifscompose +!IFDEF EXTRA_ifscompose OBJECTS = \ ifscompose.obj \ ifscompose_utils.obj !ENDIF -!IFDEF COMPLEX_iwarp -!ENDIF - -!IFDEF COMPLEX_jpeg +!IFDEF EXTRA_jpeg # Location of jpeg-6b sources JPEG = $(TOP)\..\jpeg-6b EXTRACFLAGS = -I$(JPEG) EXTRALIBS = $(JPEG)\libjpeg.lib !ENDIF -!IFDEF COMPLEX_maze +!IFDEF EXTRA_maze OBJECTS = \ algorithms.obj \ handy.obj \ @@ -234,7 +235,7 @@ OBJECTS = \ maze_face.obj !ENDIF -!IFDEF COMPLEX_png +!IFDEF EXTRA_png # Location of libpng sources PNG = $(TOP)\..\libpng-1.0.3 # And zlib @@ -243,7 +244,16 @@ EXTRACFLAGS = -I$(PNG) -I$(ZLIB) EXTRALIBS = $(PNG)\libpng.lib $(ZLIB)\zlib.lib !ENDIF -!IFDEF COMPLEX_rcm +!IFDEF EXTRA_print +OBJECTS = \ + print.obj \ + print-escp2.obj \ + print-pcl.obj \ + print-ps.obj \ + print-util.obj +!ENDIF + +!IFDEF EXTRA_rcm OBJECTS = \ rcm.obj \ rcm_callback.obj \ @@ -253,7 +263,7 @@ OBJECTS = \ OPTIMIZE = !ENDIF -!IFDEF COMPLEX_script_fu +!IFDEF EXTRA_script_fu OBJECTS = \ interp_md5.obj \ interp_regex.obj \ @@ -269,7 +279,13 @@ EXTRACFLAGS = -DREGEX_MALLOC HAVE_RESOURCE = YES !ENDIF -!IFDEF COMPLEX_tiff +!IFDEF EXTRA_sgi +OBJECTS = \ + sgi.obj \ + sgilib.obj +!ENDIF + +!IFDEF EXTRA_tiff # Location of tiff-3.4 sources TIFF = $(TOP)\..\tiff-v3.4\libtiff # Location of jpeg-6b sources @@ -280,11 +296,17 @@ EXTRACFLAGS = -I$(TIFF) EXTRALIBS = $(TIFF)\libtiff.lib $(JPEG)\libjpeg.lib $(ZLIB)\zlib.lib user32.lib !ENDIF -!IFDEF COMPLEX_guash +!IFDEF EXTRA_unsharp +OBJECTS = \ + dialog_f.obj \ + unsharp.obj +!ENDIF + +!IFDEF EXTRA_guash HAVE_RESOURCE = YES !ENDIF -!IFDEF COMPLEX_user_filter +!IFDEF EXTRA_user_filter OBJECTS = \ libyywrap.obj \ uf_eval.obj \ @@ -295,7 +317,7 @@ OBJECTS = \ uf_parser.tab.obj !ENDIF -!IFDEF COMPLEX_twain +!IFDEF EXTRA_twain OBJECTS = \ tw_func.obj \ tw_util.obj \ @@ -303,8 +325,6 @@ OBJECTS = \ EXTRALIBS = user32.lib !ENDIF -LDFLAGS = /link /subsystem:windows /machine:ix86 # /debug - GIMP_VER = 1.1 GTK_VER = 1.3 GLIB_VER = 1.3 @@ -316,13 +336,27 @@ GETTEXT = $(TOP)\..\gettext-0.10.35 PLUGINDIR = $(TOP)\plug-ins !IFNDEF OPTIMIZE +!IFNDEF DEBUG OPTIMIZE = -Ox -#OPTIMIZE = -Zi +!ELSE +OPTIMIZE = -Zi !ENDIF -CC = cl -nologo -G5 -GF $(OPTIMIZE) -W2 -MD -Zm200 +!ENDIF + +!IFNDEF DEBUG +LINKDEBUG = +RTL = -MD +!ELSE +LINKDEBUG = /debug +RTL = -MDd +!ENDIF + +CC = cl -nologo -G5 -GF $(OPTIMIZE) $(RTL) -W2 -Zm200 CFLAGS = -DHAVE_CONFIG_H $(EXTRACFLAGS) -I. -I$(TOP) -I$(PLUGINDIR) -I$(PLUGINDIR)\libgck -I$(GLIB) -I$(GTK)\gdk\win32 -I$(GTK) -I$(GETTEXT)\intl +LDFLAGS = /link /subsystem:windows /machine:ix86 $(LINKDEBUG) + !IFDEF PLUGIN # This part is used when building individual plug-ins diff --git a/plug-ins/print/print.c b/plug-ins/print/print.c index e7964a3cc1..c5b8d168c9 100644 --- a/plug-ins/print/print.c +++ b/plug-ins/print/print.c @@ -39,6 +39,40 @@ * Revision History: * * $Log$ + * Revision 1.14 1999/06/28 17:54:12 tml + * * */makefile.msc: Use the DEBUG nmake variable to determine + * whether to build for debugging or not. + * + * * libgimp/gimp.def: Add some missing entry points. + * + * * plug-ins/makefile.msc: Redo as to Yosh's reorg of the + * sources. Add some plug-ins missing earlier. (For instance print, + * which only prints to files on Win32. We still need a real Win32 + * print plug-in. Much code probably could be lifted from the bmp + * plug-in.) + * + * * plug-ins/MapObject/arcball.c: Change Qt_ToMatrix() to void, + * instead of returning the address of its parameter (dubious + * practise), as its value is never used anyway. + * + * For the following changes, thanks to Hans Breuer: + * + * * plug-ins/FractalExplorer/Dialogs.h: Check for feof, not to get + * into an endless loop on malformed files. + * + * * plug-ins/common/header.c: Support indexed images. + * + * * plug-ins/common/sunras.c + * * plug-ins/common/xwd.c + * * plug-ins/print/print.h + * * plug-ins/sgi/sgi.h: Include config.h, guard inclusion of + * unistd.h. + * + * * plug-ins/print/print.c: Guard for SIGBUS being undefined. Open + * output file in binary mode. + * + * * po/makefile.msc: Add no. + * * Revision 1.13 1999/05/29 16:35:30 yosh * * configure.in * * Makefile.am: removed tips files, AC_SUBST GIMP_PLUGINS and @@ -226,7 +260,6 @@ #include #endif -#include "config.h" #include "libgimp/stdplugins-intl.h" /* @@ -713,7 +746,7 @@ run(char *name, /* I - Name of print program. */ prn = (tmpfile = get_tmp_filename()) ? fopen(tmpfile, "w") : NULL; #endif else - prn = fopen(vars.output_to, "w"); + prn = fopen(vars.output_to, "wb"); if (prn != NULL) { @@ -843,7 +876,9 @@ do_print_dialog(void) gtk_rc_parse(gimp_gtkrc()); gdk_set_use_xshm(gimp_use_xshm()); +#ifdef SIGBUS signal(SIGBUS, SIG_DFL); +#endif signal(SIGSEGV, SIG_DFL); /* diff --git a/plug-ins/print/print.h b/plug-ins/print/print.h index c72ddd66a5..2f96413662 100644 --- a/plug-ins/print/print.h +++ b/plug-ins/print/print.h @@ -22,6 +22,40 @@ * Revision History: * * $Log$ + * Revision 1.8 1999/06/28 17:54:14 tml + * * */makefile.msc: Use the DEBUG nmake variable to determine + * whether to build for debugging or not. + * + * * libgimp/gimp.def: Add some missing entry points. + * + * * plug-ins/makefile.msc: Redo as to Yosh's reorg of the + * sources. Add some plug-ins missing earlier. (For instance print, + * which only prints to files on Win32. We still need a real Win32 + * print plug-in. Much code probably could be lifted from the bmp + * plug-in.) + * + * * plug-ins/MapObject/arcball.c: Change Qt_ToMatrix() to void, + * instead of returning the address of its parameter (dubious + * practise), as its value is never used anyway. + * + * For the following changes, thanks to Hans Breuer: + * + * * plug-ins/FractalExplorer/Dialogs.h: Check for feof, not to get + * into an endless loop on malformed files. + * + * * plug-ins/common/header.c: Support indexed images. + * + * * plug-ins/common/sunras.c + * * plug-ins/common/xwd.c + * * plug-ins/print/print.h + * * plug-ins/sgi/sgi.h: Include config.h, guard inclusion of + * unistd.h. + * + * * plug-ins/print/print.c: Guard for SIGBUS being undefined. Open + * output file in binary mode. + * + * * po/makefile.msc: Add no. + * * Revision 1.7 1998/05/31 06:49:17 yosh * * app/interface.c: plug mem leak in message_box * @@ -91,12 +125,15 @@ /* * Include necessary header files... */ +#include "config.h" #include #include #include #include +#ifdef HAVE_UNISTD_H #include +#endif #include #include diff --git a/plug-ins/sgi/sgi.h b/plug-ins/sgi/sgi.h index d1fec157a6..f567ab2975 100644 --- a/plug-ins/sgi/sgi.h +++ b/plug-ins/sgi/sgi.h @@ -22,6 +22,40 @@ * Revision History: * * $Log$ + * Revision 1.9 1999/06/28 17:54:16 tml + * * */makefile.msc: Use the DEBUG nmake variable to determine + * whether to build for debugging or not. + * + * * libgimp/gimp.def: Add some missing entry points. + * + * * plug-ins/makefile.msc: Redo as to Yosh's reorg of the + * sources. Add some plug-ins missing earlier. (For instance print, + * which only prints to files on Win32. We still need a real Win32 + * print plug-in. Much code probably could be lifted from the bmp + * plug-in.) + * + * * plug-ins/MapObject/arcball.c: Change Qt_ToMatrix() to void, + * instead of returning the address of its parameter (dubious + * practise), as its value is never used anyway. + * + * For the following changes, thanks to Hans Breuer: + * + * * plug-ins/FractalExplorer/Dialogs.h: Check for feof, not to get + * into an endless loop on malformed files. + * + * * plug-ins/common/header.c: Support indexed images. + * + * * plug-ins/common/sunras.c + * * plug-ins/common/xwd.c + * * plug-ins/print/print.h + * * plug-ins/sgi/sgi.h: Include config.h, guard inclusion of + * unistd.h. + * + * * plug-ins/print/print.c: Guard for SIGBUS being undefined. Open + * output file in binary mode. + * + * * po/makefile.msc: Add no. + * * Revision 1.8 1998/06/06 23:22:20 yosh * * adding Lighting plugin * @@ -49,9 +83,13 @@ #ifndef _SGI_H_ # define _SGI_H_ +# include "config.h" + # include # include -# include +# ifdef HAVE_UNISTD_H +# include +# endif # include # ifdef __cplusplus diff --git a/po/ChangeLog b/po/ChangeLog index 12e25303af..883dfc4742 100644 --- a/po/ChangeLog +++ b/po/ChangeLog @@ -1,3 +1,7 @@ +1999-06-28 Tor Lillqvist + + * makefile.msc: Add no. + 1999-06-21 Yukihiro Nakai * ja.po: Japanese translation updated from Mr. SHIRASAKI. diff --git a/po/makefile.msc b/po/makefile.msc index 770e6a9928..bb084dd8f8 100644 --- a/po/makefile.msc +++ b/po/makefile.msc @@ -5,7 +5,7 @@ # Locale directory. LOCALEDIR = c:\gimp\locale -LANGUAGES= de fi fr hu it ja ko nl pl ru sv +LANGUAGES= de fi fr hu it ja ko nl no pl ru sv ################################################################