Building podzilla in cygwin
From wikiPodLinux
Note: This page is painfully out-of-date. Building_Podzilla_for_the_Desktop may be of more interest. These instructions are hardly helpful; this page should be deleted.
| Table of contents |
Introduction
These are roughly cut build instructions to build podzilla for X11 under Windows/Cygwin. This is probably not the prettiest way to do this, if you know a better way, please update.
Microwindows
1) Extract this archive in the folder where where you keep your X11 version of microwindows:
2) Copy the X11 config
cp microwindows/src/Configs/config.ipod_x11 microwindows/src/config
3) Change these options in config: (I might have turned off more than required)
LINK_APP_INTO_SERVER = Y HAVE_BMP_SUPPORT = N HAVE_PNM_SUPPORT = N HAVE_JPEG_SUPPORT = N HAVE_FREETYPE_SUPPORT = N HAVE_PCFGZ_SUPPORT = N
4) Edit microwindows/src/Makefile.rules
4.1) Add "-I$(TOP)/../include_bogus" to INCLUDEDIRS:
- INCLUDEDIRS += -I. -I$(TOP)/include + INCLUDEDIRS += -I. -I$(TOP)/include -I$(TOP)/../include_bogus
4.2) Add "/usr/X11R6/bin/libX11.dll" to MW_CORE_LIBS:
- MW_CORE_LIBS := + MW_CORE_LIBS := /usr/X11R6/bin/libX11.dll
If you get this error:
make[2]: *** No rule to make target `/usr/X11R6/bin/libX11.dll', needed by `/home/YourName/ipodlinux/microwindows/ipod-x11/src/bin/nxkbd'. Stop. make[1]: *** [subdir-nxkbd] Error 2
try adding "/usr/X11R6/bin/cygX11-6.dll" instead of "/usr/X11R6/bin/libX11.dll"
5) Make microwindows and hope for the best:
make
podzilla
1) Edit Makefile
1.1) In the non-ipod section, make sure that the path to microwindows is the path to your X11 version of microwindows.
1.2) Also in the non-IPOD section, remove "-I$(LIBITUNESDB)" from CFLAGS:
-CFLAGS+=\
-Wall -g \
-I$(MICROWINDOWS)/include \
-I$(LIBITUNESDB) \
-DPZ_VER="$(PZ_VER)"
+CFLAGS+=\
-Wall -g \
-I$(MICROWINDOWS)/include \
-DPZ_VER="$(PZ_VER)"
1.3) In the same section, add "/usr/X11R6/bin/libX11.dll" to and remove "$(LIBITUNESDB)/.libs/libitunesdb.a" from LDFLAGS:
-LDFLAGS+=\
$(MICROWINDOWS)/lib/libnano-X.a \
$(MICROWINDOWS)/lib/libmwengine.a \
$(MICROWINDOWS)/lib/libmwdrivers.a \
$(MICROWINDOWS)/lib/libmwfonts.a \
$(LIBITUNESDB)/.libs/libitunesdb.a
+LDFLAGS+=\
/usr/X11R6/bin/libX11.dll \
$(MICROWINDOWS)/lib/libnano-X.a \
$(MICROWINDOWS)/lib/libmwengine.a \
$(MICROWINDOWS)/lib/libmwdrivers.a \
$(MICROWINDOWS)/lib/libmwfonts.a
1.4) Comment out itunes_db.o and itunesmenu.o from the OBJS list.
- btree.o \
+ btree.o
+ifneq ($(IPOD),)
+OBJS+=\
itunes_db.o \
- itunesmenu.o \
+ itunesmenu.o
+endif
+OBJS+=\
2) Edit ipod.c, add stub definitions of IOR and IOW:
#include "ipod.h"
#include "pz.h"
+#ifndef IPOD
+#define _IOR(a, b, c) -1
+#define _IOW(a, b, c) -1
+#endif
#define FBIOGET_CONTRAST _IOR('F', 0x22, int)
3) Edit menu.c, remove the itunesdb pages:
Index: menu.c
===================================================================
RCS file: /cvsroot/ipodlinux/tools/podzilla/menu.c,v
retrieving revision 1.26
diff -u -r1.26 menu.c
--- menu.c 5 Jan 2005 14:53:53 -0000 1.26
+++ menu.c 5 Jan 2005 23:52:38 -0000
@@ -37,10 +37,12 @@
extern void new_oth_window(void);
extern void new_steroids_window(void);
extern void new_bluecube_window(void);
+#ifdef IPOD
extern void new_itunes_track(void);
extern void new_itunes_artist(void);
extern void new_itunes_album(void);
extern void new_itunes_plist(void);
+#endif
extern void new_pong_window(void);
extern void new_mines_window(void);
extern void new_calc_window(void);
@@ -162,6 +164,7 @@
{0, 0, 0, NOSETTING, 0}
};
+#ifdef IPOD
static struct menu_item itunes_menu[] = {
{"Playlists", ACTION_MENU, new_itunes_plist, NOSETTING, 0},
{"Artists", ACTION_MENU, new_itunes_artist, NOSETTING, 0},
@@ -169,9 +172,12 @@
{"Songs", ACTION_MENU, new_itunes_track, NOSETTING, 0},
{0, 0, 0}
};
+#endif
static struct menu_item main_menu[] = {
+#ifdef IPOD
{"Music", SUB_MENU_HEADER, itunes_menu, NOSETTING, 0},
+#endif
{"Extras", SUB_MENU_HEADER, extras_menu, NOSETTING, 0},
{"Settings", SUB_MENU_HEADER, settings_menu, NOSETTING, 0},
{"File Browser", ACTION_MENU, new_browser_window, NOSETTING, 0},
4) Make podzilla and, again, hope for the best:
make
Start it up
Make sure that your x-server is running and start podzilla.

