Resource names don't need a case-sensitive comparison; this avoids depending on libwine_unicode.
diff --git a/tools/winebuild/Makefile.in b/tools/winebuild/Makefile.in index 24322d2..8b97e80 100644 --- a/tools/winebuild/Makefile.in +++ b/tools/winebuild/Makefile.in
@@ -23,7 +23,7 @@ @MAKE_RULES@ winebuild$(EXEEXT): $(OBJS) - $(CC) $(CFLAGS) -o $@ $(OBJS) $(LIBUNICODE) $(LIBPORT) $(LDFLAGS) + $(CC) $(CFLAGS) -o $@ $(OBJS) $(LIBPORT) $(LDFLAGS) winebuild.man: winebuild.man.in sed -e 's,@PACKAGE_STRING\@,@PACKAGE_STRING@,g' $(SRCDIR)/winebuild.man.in >$@ || $(RM) $@
diff --git a/tools/winebuild/res32.c b/tools/winebuild/res32.c index 53095f5..15635a9 100644 --- a/tools/winebuild/res32.c +++ b/tools/winebuild/res32.c
@@ -37,7 +37,6 @@ #endif #include "winbase.h" -#include "wine/unicode.h" #include "build.h" /* Unicode string or integer id */ @@ -92,6 +91,19 @@ return &resources[nb_resources++]; } +static inline unsigned int strlenW( const WCHAR *str ) +{ + const WCHAR *s = str; + while (*s) s++; + return s - str; +} + +static inline int strcmpW( const WCHAR *str1, const WCHAR *str2 ) +{ + while (*str1 && (*str1 == *str2)) { str1++; str2++; } + return *str1 - *str2; +} + static struct res_name *add_name( struct res_type *type, const struct resource *res ) { struct res_name *name; @@ -232,7 +244,7 @@ return 1; /* an id compares larger than a string */ } if (!str2->str) return -1; - return strcmpiW( str1->str, str2->str ); + return strcmpW( str1->str, str2->str ); } /* compare two resources for sorting the resource directory */