Hi everybody,

Building v1.1.5.7 with the following compiletime-settings fails:

config {
  experimental off
  sbemu on
  mitshm on
  vidmode on
  x on
  net on
  debug off
  linkstatic off
  cpuemu off
  aspi on
  svgalib off
  plugin_keyboard on
  plugin_kbd_unicode off
  plugin_extra_charsets off
  plugin_term off
  plugin_slang on
  plugin_translate off
  plugin_coopthreads on
  plugin_commands on
  plugin_demo off
  target_cpu auto
  prefix /usr/local
  bindir ${prefix}/bin
  sysconfdir /etc/dosemu
  datadir ${prefix}/share
  mandir ${prefix}/man
  docdir ${datadir}/doc/dosemu
  syshdimagedir /var/lib/dosemu
  x11fontdir ${datadir}/dosemu/Xfonts
  fdtarball dosemu-freedos-bin.tgz
}


The following diff enables a successful build with the settings above. 
It's mostly related to mfs and a glitch in a Makefile. Because I've been 
delving into sources for a couple of days only, this diff should not be 
ultimate but hopefully points to where the problem is.

Regards,

A. Alper ATICI



diff -ur dosemu-1.1.5.7/src/dosext/mfs/lfn.c my1/src/dosext/mfs/lfn.c
--- dosemu-1.1.5.7/src/dosext/mfs/lfn.c 2003-09-16 21:00:47.272817976 +0300
+++ my1/src/dosext/mfs/lfn.c    2003-09-16 20:45:42.747326752 +0300
@@ -63,7 +63,9 @@
                if ((strcasecmpDOS(de->d_long_name, src) == 0) ||
                    (strcasecmpDOS(de->d_name, src) == 0)) {
                        char *name = alias ? de->d_name : de->d_long_name;
+#ifdef HAVE_UNICODE_TRANSLATION
                        if (!name_ufs_to_dos(dest, name, 0))
+#endif
                                name_convert(dest, name, MANGLE, NULL);
                        dos_closedir(dir);
                        return 1;
@@ -99,7 +101,11 @@
                if (!strcmp(src, "..") || !strcmp(src, ".")) {
                        strcpy(dest, src);
                } else if (!vfat_search(dest, src, fpath, alias)) {
+#ifdef HAVE_UNICODE_TRANSLATION
                        if (alias || !name_ufs_to_dos(dest, src, 0)) {
+#else
+                       if (alias) {
+#endif
                                name_convert(dest, src, MANGLE, NULL);
                        }
                }
@@ -190,7 +196,9 @@
        }
 
        long_name = strrchr(fpath, '/') + 1;
+#ifdef HAVE_UNICODE_TRANSLATION
        if (!name_ufs_to_dos(dest + 0x2c, long_name, 0))
+#endif
                name_convert(dest + 0x2c, long_name, MANGLE, NULL);
        dest += 0x130;
        if (de == NULL) {
diff -ur dosemu-1.1.5.7/src/dosext/mfs/mfs.c my1/src/dosext/mfs/mfs.c
--- dosemu-1.1.5.7/src/dosext/mfs/mfs.c 2003-09-16 21:00:47.300813720 +0300
+++ my1/src/dosext/mfs/mfs.c    2003-09-16 20:45:21.509555384 +0300
@@ -1806,7 +1806,9 @@
         if (cur_ent->d_name == cur_ent->d_long_name)
           continue;
         
+#ifdef HAVE_UNICODE_TRANSLATION
         if (!name_ufs_to_dos(tmpname,cur_ent->d_long_name,0))
+#endif
           if (!name_convert(tmpname,cur_ent->d_long_name,MANGLE,NULL))
             continue;
 
diff -ur dosemu-1.1.5.7/src/dosext/mfs/util.c my1/src/dosext/mfs/util.c
--- dosemu-1.1.5.7/src/dosext/mfs/util.c        2003-09-16 21:00:47.305812960 +0300
+++ my1/src/dosext/mfs/util.c   2003-09-16 20:45:54.971468400 +0300
@@ -6,7 +6,9 @@
 
 #include "config.h"
 #include "mangle.h"
+#ifdef HAVE_UNICODE_TRANSLATION
 #include "translate.h"
+#endif
 #include <wctype.h>
 
 int case_default=-1;
diff -ur dosemu-1.1.5.7/src/plugin/keyboard/term/Makefile 
my1/src/plugin/keyboard/term/Makefile
--- dosemu-1.1.5.7/src/plugin/keyboard/term/Makefile    2003-09-16 21:00:46.674908872 
+0300
+++ my1/src/plugin/keyboard/term/Makefile       2003-09-16 20:46:43.494091840 +0300
@@ -4,7 +4,7 @@
 # for details see file COPYING in the DOSEMU distribution
 #
 
-top_builddir=../../..
+top_builddir=../../../..
 include $(top_builddir)/Makefile.conf
 
 

Reply via email to