Message-ID: <6R6NHShUccB@jocokko.edition.bonbit.org> MIME-Version: 1.0 Content-Type: text/plain; charset=ISO-8859-1 Content-Transfer-Encoding: 8bit From: kay AT edition DOT bonbit DOT org (Kay Hayen) Subject: Trying to compile 'recode' with djgpp Date: 18 Feb 1997 00:00:00 +0000 Newsgroups: comp.os.msdos.djgpp Distribution: world Lines: 172 To: djgpp AT delorie DOT com DJ-Gateway: from newsgroup comp.os.msdos.djgpp Hallo. I've recently tried to compile 'recode' with no success. Recode is a program to convert between various charsets. It knows allmost any charset and is a really usefull toll, wenn you compile sources on different plattforms. For example I used to have problems with #ifdef __anything__ written under DOS but compiled with gcc under Linux, because the parser took the DOS extra newline thing as part of the symbol checked and never found it. I circumvented this with col out before compiling, but now I have some german text with üöä which are encoded completely different on different plattforms. I've found a makefile.os2 with recode which is said to be useable with emx, which I though could be near to djgpp. I didn't know what to do with a makefile.in under djgpp. Here's what is said: f:\recode-3.4.1>make -f Makefile.os2 make -f Makefile.os2 all CC="gcc -O -s" O=".obj" LDEFS="-a" make.exe[1]: Entering directory `f:/recode-3.4.1' gcc -O -s -c -I. -DHAVE_CONFIG_H=1 recode.c In file included from recode.c:45: g:/dos_gcc/include/setjmp.h:19: two or more data types in declaration of `jmp_bu f' recode.c:137: warning: `_stklen' initialized and declared `extern' recode.c: In function `execute_popen_sequence': recode.c:1746: warning: assignment makes pointer from integer without a cast recode.c: In function `execute_sequence': recode.c:2094: `O_BINARY' undeclared (first use this function) recode.c:2094: (Each undeclared identifier is reported only once recode.c:2094: for each function it appears in.) recode.c:2103: `_fmode' undeclared (first use this function) make.exe[1]: *** [recode.obj] Error 1 make.exe[1]: Leaving directory `f:/recode-3.4.1' Deleting G:\dos_gcc\tmp\dj160000.err 1 file deleted make.exe: *** [release] Error 1 I *quite* irritated on the djgpp include that causes the "two or more data types..." error. Never seen this before and the file which is complained about is: (I didn't find anything special about it) -------------- CUT ----------- /* Copyright (C) 1995 DJ Delorie, see COPYING.DJ for details */ #ifndef __dj_include_setjmp_h_ #define __dj_include_setjmp_h_ #ifdef __cplusplus extern "C" { #endif #ifndef __dj_ENFORCE_ANSI_FREESTANDING typedef struct { unsigned long __eax, __ebx, __ecx, __edx, __esi; unsigned long __edi, __ebp, __esp, __eip, __eflags; unsigned short __cs, __ds, __es, __fs, __gs, __ss; unsigned long __sigmask; /* for POSIX signals only */ unsigned long __signum; /* for expansion */ unsigned long __exception_ptr; /* pointer to previous exception */ unsigned char __fpu_state[108]; /* for future use */ } jmp_buf[1]; void longjmp(jmp_buf env, int val); int setjmp(jmp_buf env); #ifndef __STRICT_ANSI__ typedef jmp_buf sigjmp_buf; int sigsetjmp(sigjmp_buf env, int savemask); int siglongjmp(sigjmp_buf env, int val); #ifndef _POSIX_SOURCE #endif /* !_POSIX_SOURCE */ #endif /* !__STRICT_ANSI__ */ #endif /* !__dj_ENFORCE_ANSI_FREESTANDING */ #ifndef __dj_ENFORCE_FUNCTION_CALLS #endif /* !__dj_ENFORCE_FUNCTION_CALLS */ #ifdef __cplusplus } #endif #endif /* !__dj_include_setjmp_h_ */ ------------ CUT -------------------- The Makefile.OS2 is: (some lines are cut on the right edge, but this shouldn't be any harm) # Makefile for recode, adapted for OS2. # Copyright (C) 1991 Free Software Foundation, Inc. # Francois Pinard , 1988. release: make -f Makefile.os2 all CC="gcc -O -s" O=".obj" LDEFS="-a" debug: $(MAKE) -f Makefile.os2 all CC="gcc -g" O=".o" DEFS = -DHAVE_CONFIG_H=1 CFLAGS = -I. $(DEFS) LDFLAGS = $(LDEFS) LIBS = STEPOBJS = charset$O charset1$O charset2$O applemac$O atarist$O bangbang$O \ cdcnos$O ebcdic$O flat$O ibmpc$O iconqnx$O lat1asci$O \ lat1html$O lat1ltex$O lat1txte$O next$O merged$O C_STEPS = charset1.c charset2.c applemac.c atarist.c bangbang.c cdcnos.c ebcdi C_SPEPS2 = ibmpc.c iconqnx.c lat1asci.c lat1html.c lat1ltex.c lat1txte.c next. L_STEPS = ascilat1.l ltexlat1.l txtelat1.l LIBOBJS = xmalloc$O xstrdup$O getopt$O getopt1$O error$O argmatch$O OBJECTS = recode$O charname$O $(STEPOBJS) $(LIBOBJS) .SUFFIXES: . $O .c$O: $(CC) -c $(CFLAGS) $< all: recode.exe recode.info recode.exe: $(OBJECTS) $(CC) $(LDFLAGS) -o $@ $(OBJECTS) $(LIBS) recode.info: recode.texi makeinfo recode.texi initstep.h: $(C_STEPS) $(C_STEPS2) merged.c sed -n "s/\(module_[^ ]*\).*/ \\1 ();/p" $(C_STEPS) merged.c >initste sed -n "s/\(module_[^ ]*\).*/ \\1 ();/p" $(C_STEPS2) merged.c >>inits config.h: config_h.os2 ------- CUT --------- Any idea, why this fails ? Mls, Kay -- = <><><><><><><><><><><><><><><><><><><><><><><><><><><><><><> >>Shareware nutzen ist gut, sie zu registrieren auch. >Diese Nachricht besteht zu 100% aus recycelten Elektronen. <><><><><><><><><><><><><><><><><><><><><><><><><><><><><><>