Added some pathes for AROS operating system. We need someone to test it out now :)
Also, there is a realpath implementation there wich may be useful for BeOS too git-svn-id: svn://pulkomandy.tk/GrafX2/trunk@421 416bcca6-2ee7-4201-b75f-2eb2f807beb1
This commit is contained in:
		
							parent
							
								
									4c48c74a96
								
							
						
					
					
						commit
						e2fe9dcd79
					
				
							
								
								
									
										13
									
								
								Makefile
									
									
									
									
									
								
							
							
						
						
									
										13
									
								
								Makefile
									
									
									
									
									
								
							@ -62,6 +62,19 @@ else
 | 
				
			|||||||
    NOTTF = 1
 | 
					    NOTTF = 1
 | 
				
			||||||
  else
 | 
					  else
 | 
				
			||||||
 | 
					
 | 
				
			||||||
 | 
					  #AROS specific
 | 
				
			||||||
 | 
					  ifeq ($(PLATFORM),AROS)
 | 
				
			||||||
 | 
					    DELCOMMAND = rm -rf
 | 
				
			||||||
 | 
					    MKDIR = mkdir -p
 | 
				
			||||||
 | 
					    RMDIR = rmdir
 | 
				
			||||||
 | 
					    CP = cp
 | 
				
			||||||
 | 
					    BIN = grafx2
 | 
				
			||||||
 | 
					    CFGBIN = gfxcfg
 | 
				
			||||||
 | 
					    COPT = -Wall _c _g `i386-linux-aros-sdl-config --cflags` $(TTFCOPT)
 | 
				
			||||||
 | 
					    LOPT = -lSDL_image `i386-linux-aros-sdl-config --libs` -lpng -ljpeg -lz $(TTFLOPT)
 | 
				
			||||||
 | 
					    CC = i386-linux-aros-gcc
 | 
				
			||||||
 | 
					    OBJDIR = obj/aros
 | 
				
			||||||
 | 
					
 | 
				
			||||||
  #BeOS specific
 | 
					  #BeOS specific
 | 
				
			||||||
  ifeq ($(PLATFORM),BeOS)
 | 
					  ifeq ($(PLATFORM),BeOS)
 | 
				
			||||||
    DELCOMMAND = rm -rf
 | 
					    DELCOMMAND = rm -rf
 | 
				
			||||||
 | 
				
			|||||||
@ -23,7 +23,7 @@ $(OBJDIR)/loadsave.o: loadsave.c const.h struct.h global.h loadsave.h graph.h \
 | 
				
			|||||||
  divers.h pages.h op_c.h boutons.h erreurs.h io.h sdlscreen.h windows.h
 | 
					  divers.h pages.h op_c.h boutons.h erreurs.h io.h sdlscreen.h windows.h
 | 
				
			||||||
$(OBJDIR)/main.o: main.c const.h struct.h global.h loadsave.h graph.h divers.h \
 | 
					$(OBJDIR)/main.o: main.c const.h struct.h global.h loadsave.h graph.h divers.h \
 | 
				
			||||||
  init.h boutons.h moteur.h pages.h files.h sdlscreen.h erreurs.h \
 | 
					  init.h boutons.h moteur.h pages.h files.h sdlscreen.h erreurs.h \
 | 
				
			||||||
  readini.h saveini.h io.h texte.h setup.h windows.h brush.h
 | 
					  readini.h saveini.h io.h texte.h setup.h windows.h brush.h realpath.h
 | 
				
			||||||
$(OBJDIR)/moteur.o: moteur.c const.h struct.h global.h loadsave.h graph.h divers.h \
 | 
					$(OBJDIR)/moteur.o: moteur.c const.h struct.h global.h loadsave.h graph.h divers.h \
 | 
				
			||||||
  special.h boutons.h operatio.h shade.h erreurs.h sdlscreen.h windows.h brush.h
 | 
					  special.h boutons.h operatio.h shade.h erreurs.h sdlscreen.h windows.h brush.h
 | 
				
			||||||
$(OBJDIR)/op_c.o: op_c.c op_c.h struct.h const.h erreurs.h graph.h
 | 
					$(OBJDIR)/op_c.o: op_c.c op_c.h struct.h const.h erreurs.h graph.h
 | 
				
			||||||
@ -43,6 +43,7 @@ $(OBJDIR)/pxwide.o: pxwide.c global.h struct.h const.h loadsave.h sdlscreen.h \
 | 
				
			|||||||
$(OBJDIR)/readini.o: readini.c const.h global.h struct.h loadsave.h graph.h divers.h
 | 
					$(OBJDIR)/readini.o: readini.c const.h global.h struct.h loadsave.h graph.h divers.h
 | 
				
			||||||
$(OBJDIR)/readline.o: readline.c const.h struct.h global.h loadsave.h graph.h \
 | 
					$(OBJDIR)/readline.o: readline.c const.h struct.h global.h loadsave.h graph.h \
 | 
				
			||||||
  divers.h erreurs.h sdlscreen.h readline.h windows.h
 | 
					  divers.h erreurs.h sdlscreen.h readline.h windows.h
 | 
				
			||||||
 | 
					$(OBJDIR)/realpath.o: realpath.c
 | 
				
			||||||
$(OBJDIR)/saveini.o: saveini.c const.h global.h struct.h loadsave.h readini.h io.h \
 | 
					$(OBJDIR)/saveini.o: saveini.c const.h global.h struct.h loadsave.h readini.h io.h \
 | 
				
			||||||
  erreurs.h graph.h divers.h
 | 
					  erreurs.h graph.h divers.h
 | 
				
			||||||
$(OBJDIR)/sdlscreen.o: sdlscreen.c global.h struct.h const.h loadsave.h sdlscreen.h \
 | 
					$(OBJDIR)/sdlscreen.o: sdlscreen.c global.h struct.h const.h loadsave.h sdlscreen.h \
 | 
				
			||||||
 | 
				
			|||||||
							
								
								
									
										1
									
								
								aide.c
									
									
									
									
									
								
							
							
						
						
									
										1
									
								
								aide.c
									
									
									
									
									
								
							@ -417,6 +417,7 @@ void Bouton_Stats(void)
 | 
				
			|||||||
    }
 | 
					    }
 | 
				
			||||||
#else
 | 
					#else
 | 
				
			||||||
    // Free disk space is only for shows. Other platforms can display 0.
 | 
					    // Free disk space is only for shows. Other platforms can display 0.
 | 
				
			||||||
 | 
					    Taille=0;
 | 
				
			||||||
#endif
 | 
					#endif
 | 
				
			||||||
  
 | 
					  
 | 
				
			||||||
    if(Taille > (100ULL*1024*1024*1024))
 | 
					    if(Taille > (100ULL*1024*1024*1024))
 | 
				
			||||||
 | 
				
			|||||||
							
								
								
									
										2
									
								
								files.c
									
									
									
									
									
								
							
							
						
						
									
										2
									
								
								files.c
									
									
									
									
									
								
							@ -29,7 +29,7 @@
 | 
				
			|||||||
#include <sys/stat.h>
 | 
					#include <sys/stat.h>
 | 
				
			||||||
#include <unistd.h>
 | 
					#include <unistd.h>
 | 
				
			||||||
 | 
					
 | 
				
			||||||
#if defined(__amigaos4__)
 | 
					#if defined(__amigaos4__) || defined(__AROS__)
 | 
				
			||||||
    #include <proto/dos.h>
 | 
					    #include <proto/dos.h>
 | 
				
			||||||
    #include <dirent.h>
 | 
					    #include <dirent.h>
 | 
				
			||||||
    #define isHidden(Enreg) (0)
 | 
					    #define isHidden(Enreg) (0)
 | 
				
			||||||
 | 
				
			|||||||
							
								
								
									
										4
									
								
								init.c
									
									
									
									
									
								
							
							
						
						
									
										4
									
								
								init.c
									
									
									
									
									
								
							@ -69,7 +69,7 @@ void Ajouter_lecteur(char Lettre, byte Type, char *Chemin)
 | 
				
			|||||||
// Rechercher la liste et le type des lecteurs de la machine
 | 
					// Rechercher la liste et le type des lecteurs de la machine
 | 
				
			||||||
void Rechercher_drives(void)
 | 
					void Rechercher_drives(void)
 | 
				
			||||||
{
 | 
					{
 | 
				
			||||||
  #if defined(__amigaos4__)
 | 
					  #if defined(__amigaos4__) || defined(__AROS__)
 | 
				
			||||||
 | 
					
 | 
				
			||||||
  // No icons by default.
 | 
					  // No icons by default.
 | 
				
			||||||
  // It's possible to add some here.
 | 
					  // It's possible to add some here.
 | 
				
			||||||
@ -124,7 +124,7 @@ void Rechercher_drives(void)
 | 
				
			|||||||
	#if defined(__BEOS__) || defined(__HAIKU__)
 | 
						#if defined(__BEOS__) || defined(__HAIKU__)
 | 
				
			||||||
  	char * Home = getenv("$HOME");
 | 
					  	char * Home = getenv("$HOME");
 | 
				
			||||||
  #else
 | 
					  #else
 | 
				
			||||||
	  char * Home = getenv("HOME");
 | 
						char * Home = getenv("HOME");
 | 
				
			||||||
  #endif	
 | 
					  #endif	
 | 
				
			||||||
	Ajouter_lecteur('/', LECTEUR_HDD, "/");
 | 
						Ajouter_lecteur('/', LECTEUR_HDD, "/");
 | 
				
			||||||
	Ajouter_lecteur('~', LECTEUR_HDD, Home ? Home : "");
 | 
						Ajouter_lecteur('~', LECTEUR_HDD, Home ? Home : "");
 | 
				
			||||||
 | 
				
			|||||||
							
								
								
									
										2
									
								
								main.c
									
									
									
									
									
								
							
							
						
						
									
										2
									
								
								main.c
									
									
									
									
									
								
							@ -58,6 +58,8 @@
 | 
				
			|||||||
#elif defined(__macosx__)
 | 
					#elif defined(__macosx__)
 | 
				
			||||||
    #import <corefoundation/corefoundation.h>
 | 
					    #import <corefoundation/corefoundation.h>
 | 
				
			||||||
    #import <sys/param.h>
 | 
					    #import <sys/param.h>
 | 
				
			||||||
 | 
					#elif defined(__AROS__) || defined(__BEOS__)
 | 
				
			||||||
 | 
					    #include "realpath.h"
 | 
				
			||||||
#endif
 | 
					#endif
 | 
				
			||||||
 | 
					
 | 
				
			||||||
byte Ancien_nb_lignes;                // Ancien nombre de lignes de l'écran
 | 
					byte Ancien_nb_lignes;                // Ancien nombre de lignes de l'écran
 | 
				
			||||||
 | 
				
			|||||||
							
								
								
									
										86
									
								
								realpath.c
									
									
									
									
									
										Normal file
									
								
							
							
						
						
									
										86
									
								
								realpath.c
									
									
									
									
									
										Normal file
									
								
							@ -0,0 +1,86 @@
 | 
				
			|||||||
 | 
					/*   Found in:
 | 
				
			||||||
 | 
					     http://amiga.sourceforge.net/amigadevhelp/FUNCTIONS/GeekGadgets/realpath/ex02_realpath.c
 | 
				
			||||||
 | 
					*/
 | 
				
			||||||
 | 
					
 | 
				
			||||||
 | 
					#include <limits.h>
 | 
				
			||||||
 | 
					#include <stdlib.h>
 | 
				
			||||||
 | 
					#include <errno.h>
 | 
				
			||||||
 | 
					#include <fcntl.h>
 | 
				
			||||||
 | 
					#include <string.h>
 | 
				
			||||||
 | 
					#include <unistd.h>
 | 
				
			||||||
 | 
					
 | 
				
			||||||
 | 
					static char *sep(char *path)
 | 
				
			||||||
 | 
					{
 | 
				
			||||||
 | 
						char *tmp, c;
 | 
				
			||||||
 | 
						
 | 
				
			||||||
 | 
						tmp = strrchr(path, '/');
 | 
				
			||||||
 | 
						if(tmp) {
 | 
				
			||||||
 | 
							c = tmp[1];
 | 
				
			||||||
 | 
							tmp[1] = 0;
 | 
				
			||||||
 | 
							if (chdir(path)) {
 | 
				
			||||||
 | 
								return NULL;
 | 
				
			||||||
 | 
							}
 | 
				
			||||||
 | 
							tmp[1] = c;
 | 
				
			||||||
 | 
							
 | 
				
			||||||
 | 
							return tmp + 1;
 | 
				
			||||||
 | 
						}
 | 
				
			||||||
 | 
						
 | 
				
			||||||
 | 
						return path;
 | 
				
			||||||
 | 
					
 | 
				
			||||||
 | 
					}
 | 
				
			||||||
 | 
					
 | 
				
			||||||
 | 
					char *realpath(const char *_path, char *resolved_path)
 | 
				
			||||||
 | 
					{
 | 
				
			||||||
 | 
						int fd = open(".", O_RDONLY), l;
 | 
				
			||||||
 | 
						char path[PATH_MAX], lnk[PATH_MAX], *tmp = (char *)"";
 | 
				
			||||||
 | 
						char tmp2[PATH_MAX];
 | 
				
			||||||
 | 
						
 | 
				
			||||||
 | 
						if (fd < 0) {
 | 
				
			||||||
 | 
							return NULL;
 | 
				
			||||||
 | 
						}
 | 
				
			||||||
 | 
						strncpy(path, _path, PATH_MAX);
 | 
				
			||||||
 | 
						
 | 
				
			||||||
 | 
						if (chdir(path)) {
 | 
				
			||||||
 | 
							if (errno == ENOTDIR) {
 | 
				
			||||||
 | 
								l = readlink(path, lnk, PATH_MAX);
 | 
				
			||||||
 | 
								if (!(tmp = sep(path))) {
 | 
				
			||||||
 | 
									resolved_path = NULL;
 | 
				
			||||||
 | 
									goto abort;
 | 
				
			||||||
 | 
								}
 | 
				
			||||||
 | 
								if (l < 0) {
 | 
				
			||||||
 | 
									if (errno != EINVAL) {
 | 
				
			||||||
 | 
										resolved_path = NULL;
 | 
				
			||||||
 | 
										goto abort;
 | 
				
			||||||
 | 
									}
 | 
				
			||||||
 | 
								} else {
 | 
				
			||||||
 | 
									lnk[l] = 0;
 | 
				
			||||||
 | 
									if (!(tmp = sep(lnk))) {
 | 
				
			||||||
 | 
										resolved_path = NULL;
 | 
				
			||||||
 | 
										goto abort;
 | 
				
			||||||
 | 
									}
 | 
				
			||||||
 | 
								}
 | 
				
			||||||
 | 
							} else {
 | 
				
			||||||
 | 
								resolved_path = NULL;
 | 
				
			||||||
 | 
								goto abort;
 | 
				
			||||||
 | 
							}
 | 
				
			||||||
 | 
						}
 | 
				
			||||||
 | 
						
 | 
				
			||||||
 | 
						if(resolved_path==NULL) // if we called realpath with null as a 2nd arg
 | 
				
			||||||
 | 
							resolved_path = (char*) malloc( PATH_MAX );
 | 
				
			||||||
 | 
							
 | 
				
			||||||
 | 
						if (!getcwd(resolved_path, PATH_MAX)) {
 | 
				
			||||||
 | 
							resolved_path = NULL;
 | 
				
			||||||
 | 
							goto abort;
 | 
				
			||||||
 | 
						}
 | 
				
			||||||
 | 
						
 | 
				
			||||||
 | 
						if(strcmp(resolved_path, "/") && *tmp) {
 | 
				
			||||||
 | 
							strcat(resolved_path, "/");
 | 
				
			||||||
 | 
						}
 | 
				
			||||||
 | 
						
 | 
				
			||||||
 | 
						strcat(resolved_path, tmp);
 | 
				
			||||||
 | 
					      abort:
 | 
				
			||||||
 | 
						fchdir(fd);
 | 
				
			||||||
 | 
						close(fd);
 | 
				
			||||||
 | 
						return resolved_path;
 | 
				
			||||||
 | 
					}
 | 
				
			||||||
 | 
					
 | 
				
			||||||
							
								
								
									
										6
									
								
								realpath.h
									
									
									
									
									
										Normal file
									
								
							
							
						
						
									
										6
									
								
								realpath.h
									
									
									
									
									
										Normal file
									
								
							@ -0,0 +1,6 @@
 | 
				
			|||||||
 | 
					#ifndef _REALPATH_H
 | 
				
			||||||
 | 
					#define _REALPATH_H
 | 
				
			||||||
 | 
					
 | 
				
			||||||
 | 
					char *realpath(const char *_path, char *resolved_path);
 | 
				
			||||||
 | 
					
 | 
				
			||||||
 | 
					#endif
 | 
				
			||||||
							
								
								
									
										6
									
								
								setup.c
									
									
									
									
									
								
							
							
						
						
									
										6
									
								
								setup.c
									
									
									
									
									
								
							@ -49,7 +49,7 @@ int Create_ConfigDirectory(char * Config_Dir)
 | 
				
			|||||||
  #endif
 | 
					  #endif
 | 
				
			||||||
}
 | 
					}
 | 
				
			||||||
 | 
					
 | 
				
			||||||
#if defined(__macosx__) || defined(__amigaos4__)
 | 
					#if defined(__macosx__) || defined(__amigaos4__) || defined(__AROS__)
 | 
				
			||||||
  #define ARG_UNUSED __attribute__((unused))
 | 
					  #define ARG_UNUSED __attribute__((unused))
 | 
				
			||||||
#else
 | 
					#else
 | 
				
			||||||
  #define ARG_UNUSED
 | 
					  #define ARG_UNUSED
 | 
				
			||||||
@ -70,7 +70,7 @@ void Set_Program_Directory(ARG_UNUSED const char * argv0,char * Program_Dir)
 | 
				
			|||||||
    strcat(Program_Dir    ,"/");
 | 
					    strcat(Program_Dir    ,"/");
 | 
				
			||||||
  
 | 
					  
 | 
				
			||||||
  // AmigaOS4: hard-coded volume name.
 | 
					  // AmigaOS4: hard-coded volume name.
 | 
				
			||||||
  #elif defined(__amigaos4__)
 | 
					  #elif defined(__amigaos4__) || defined(__AROS__)
 | 
				
			||||||
    strcpy(Program_Dir,"PROGDIR:");
 | 
					    strcpy(Program_Dir,"PROGDIR:");
 | 
				
			||||||
 | 
					
 | 
				
			||||||
  // Others: The part of argv[0] before the executable name.    
 | 
					  // Others: The part of argv[0] before the executable name.    
 | 
				
			||||||
@ -113,7 +113,7 @@ void Set_Config_Directory(const char * Program_Dir, char * Config_Dir)
 | 
				
			|||||||
    strcpy(Config_Dir,Program_Dir);
 | 
					    strcpy(Config_Dir,Program_Dir);
 | 
				
			||||||
    strcat(Config_Dir,"Contents/Resources/");
 | 
					    strcat(Config_Dir,"Contents/Resources/");
 | 
				
			||||||
  // AmigaOS4
 | 
					  // AmigaOS4
 | 
				
			||||||
  #elif defined(__amigaos4__)
 | 
					  #elif defined(__amigaos4__) || defined(__AROS__)
 | 
				
			||||||
    strcpy(Config_Dir,"PROGDIR:");
 | 
					    strcpy(Config_Dir,"PROGDIR:");
 | 
				
			||||||
  #else
 | 
					  #else
 | 
				
			||||||
    char FileName[TAILLE_CHEMIN_FICHIER];
 | 
					    char FileName[TAILLE_CHEMIN_FICHIER];
 | 
				
			||||||
 | 
				
			|||||||
		Loading…
	
	
			
			x
			
			
		
	
		Reference in New Issue
	
	Block a user