mirror of
https://github.com/pspdev/pspsdk.git
synced 2025-10-03 16:51:27 +00:00
Implement some missings todo, and add libpsprtc as standard library
Remove -lm from examples because is also part of standard libraries
This commit is contained in:
@@ -13,10 +13,11 @@ RUN cd /src && \
|
||||
make -j $(getconf _NPROCESSORS_ONLN) && \
|
||||
make -j $(getconf _NPROCESSORS_ONLN) install
|
||||
|
||||
## gcc needs to include libcglue libpsputility libpspnet_inet libpspnet_resolver libpspuser libpspkernel
|
||||
## gcc needs to include libcglue libpsputility libpsprtc libpspnet_inet libpspnet_resolver libpspuser libpspkernel
|
||||
## from pspsdk to be able to build executables, because they are part of the standard libraries
|
||||
RUN ln -sf "$PSPDEV/psp/sdk/lib/libcglue.a" "$PSPDEV/psp/lib/libcglue.a" || { exit 1; }
|
||||
RUN ln -sf "$PSPDEV/psp/sdk/lib/libpsputility.a" "$PSPDEV/psp/lib/libpsputility.a" || { exit 1; }
|
||||
RUN ln -sf "$PSPDEV/psp/sdk/lib/libpsprtc.a" "$PSPDEV/psp/lib/libpsprtc.a" || { exit 1; }
|
||||
RUN ln -sf "$PSPDEV/psp/sdk/lib/libpspnet_inet.a" "$PSPDEV/psp/lib/libpspnet_inet.a" || { exit 1; }
|
||||
RUN ln -sf "$PSPDEV/psp/sdk/lib/libpspnet_resolver.a" "$PSPDEV/psp/lib/libpspnet_resolver.a" || { exit 1; }
|
||||
RUN ln -sf "$PSPDEV/psp/sdk/lib/libpspuser.a" "$PSPDEV/psp/lib/libpspuser.a" || { exit 1; }
|
||||
|
@@ -8,9 +8,11 @@ RANLIB = @PSP_RANLIB@
|
||||
|
||||
CPPFLAGS = -I$(top_srcdir)/src/base \
|
||||
-I$(top_srcdir)/src/debug \
|
||||
-I$(top_srcdir)/src/sdk \
|
||||
-I$(top_srcdir)/src/kernel \
|
||||
-I$(top_srcdir)/src/net \
|
||||
-I$(top_srcdir)/src/sdk \
|
||||
-I$(top_srcdir)/src/user \
|
||||
-I$(top_srcdir)/src/rtc \
|
||||
-I$(top_srcdir)/src/user \
|
||||
-I$(top_srcdir)/src/utility
|
||||
CFLAGS = @PSPSDK_CFLAGS@
|
||||
@@ -25,7 +27,7 @@ FDMAN_OBJS = __descriptor_data_pool.o __descriptormap.o __fdman_init.o __fdman_g
|
||||
|
||||
GLUE_OBJS = __fill_stat.o __psp_heap_blockid.o __psp_free_heap.o _fork.o _wait.o _open.o _close.o _read.o _write.o _fstat.o \
|
||||
_stat.o lstat.o access.o _fcntl.o _lseek.o chdir.o mkdir.o rmdir.o getdents.o _seekdir.o _link.o _unlink.o \
|
||||
_rename.o getcwd.o _getpid.o _kill.o _sbrk.o _gettimeofday.o _times.o _internal_malloc_lock.o _internal_malloc_unlock.o \
|
||||
_rename.o _getpid.o _kill.o _sbrk.o _gettimeofday.o _times.o _internal_malloc_lock.o _internal_malloc_unlock.o \
|
||||
_isatty.o symlink.o truncate.o chmod.o fchmod.o fchmodat.o pathconf.o readlink.o utime.o fchown.o getentropy.o
|
||||
|
||||
|
||||
|
@@ -36,6 +36,7 @@
|
||||
#include <pspthreadman.h>
|
||||
#include <psputils.h>
|
||||
#include <pspsdk.h>
|
||||
#include <psprtc.h>
|
||||
|
||||
#include "fdman.h"
|
||||
|
||||
@@ -617,13 +618,6 @@ int _rename(const char *old, const char *new)
|
||||
}
|
||||
#endif
|
||||
|
||||
#ifdef F_getcwd
|
||||
char *getcwd(char *buf, size_t len) {
|
||||
strncpy(buf, __cwd, len);
|
||||
return buf;
|
||||
}
|
||||
#endif
|
||||
|
||||
#ifdef F__getpid
|
||||
pid_t _getpid(void)
|
||||
{
|
||||
@@ -642,7 +636,7 @@ int _kill(pid_t pid, int sig)
|
||||
pid_t _fork(void)
|
||||
{
|
||||
errno = ENOSYS;
|
||||
return (pid_t) -1;
|
||||
return (pid_t) -1; /* not supported */
|
||||
}
|
||||
#endif
|
||||
|
||||
@@ -650,7 +644,7 @@ pid_t _fork(void)
|
||||
pid_t _wait(int *unused)
|
||||
{
|
||||
errno = ENOSYS;
|
||||
return (pid_t) -1;
|
||||
return (pid_t) -1; /* not supported */
|
||||
}
|
||||
#endif
|
||||
|
||||
@@ -786,45 +780,62 @@ int truncate(const char *path, off_t length)
|
||||
int _isatty(int fd)
|
||||
{
|
||||
errno = ENOTTY;
|
||||
return 0;
|
||||
return -1; /* not supported */
|
||||
}
|
||||
#endif
|
||||
|
||||
#ifdef F_chmod
|
||||
int chmod(const char *pathname, mode_t mode)
|
||||
{
|
||||
// TODO: Implement proper functionality
|
||||
SceIoStat psp_stat;
|
||||
char dest[MAXNAMLEN + 1];
|
||||
int ret;
|
||||
|
||||
if(__path_absolute(pathname, dest, MAXNAMLEN) < 0) {
|
||||
errno = ENAMETOOLONG;
|
||||
return -1;
|
||||
}
|
||||
|
||||
ret = sceIoGetstat(dest, &psp_stat);
|
||||
if (ret < 0) {
|
||||
return __set_errno(ret);
|
||||
}
|
||||
|
||||
psp_stat.st_mode = (SceMode)mode;
|
||||
ret = sceIoChstat(dest, &psp_stat, 0x0001);
|
||||
if (ret < 0) {
|
||||
return __set_errno(ret);
|
||||
}
|
||||
|
||||
return 0;
|
||||
}
|
||||
#endif
|
||||
|
||||
#ifdef F_fchmod
|
||||
int fchmod(int filedes, mode_t mode)
|
||||
int fchmod(int fd, mode_t mode)
|
||||
{
|
||||
// TODO: Implement proper functionality
|
||||
return 0;
|
||||
return chmod(__descriptormap[fd]->filename, mode);
|
||||
}
|
||||
#endif
|
||||
|
||||
#ifdef F_fchmodat
|
||||
int fchmodat(int fd, const char *path, mode_t mode, int flag)
|
||||
{
|
||||
// TODO: Implement proper functionality
|
||||
return 0;
|
||||
return chmod(path, mode);
|
||||
}
|
||||
#endif
|
||||
|
||||
#ifdef F_pathconf
|
||||
long int pathconf(const char *path, int name) {
|
||||
// TODO: Implement proper functionality
|
||||
return 0;
|
||||
errno = ENOSYS;
|
||||
return -1; /* not supported */
|
||||
}
|
||||
#endif
|
||||
|
||||
#ifdef F_readlink
|
||||
ssize_t readlink(const char *path, char *buf, size_t bufsiz) {
|
||||
// TODO: Implement proper functionality
|
||||
return 0;
|
||||
errno = ENOSYS;
|
||||
return -1; /* not supported */
|
||||
}
|
||||
#endif
|
||||
|
||||
@@ -834,9 +845,37 @@ struct utimbuf {
|
||||
time_t modtime; /* Modification time */
|
||||
};
|
||||
|
||||
int utime(const char *path, const struct utimbuf *times)
|
||||
int utime(const char *pathname, const struct utimbuf *times)
|
||||
{
|
||||
// TODO: Implement proper functionality
|
||||
SceIoStat psp_stat;
|
||||
char dest[MAXNAMLEN + 1];
|
||||
int ret;
|
||||
|
||||
if(__path_absolute(pathname, dest, MAXNAMLEN) < 0) {
|
||||
errno = ENAMETOOLONG;
|
||||
return -1;
|
||||
}
|
||||
|
||||
ret = sceIoGetstat(dest, &psp_stat);
|
||||
if (ret < 0) {
|
||||
return __set_errno(ret);
|
||||
}
|
||||
|
||||
ret = sceRtcSetTime_t((pspTime *)&psp_stat.sce_st_atime, times->actime);
|
||||
if (ret < 0) {
|
||||
return __set_errno(ret);
|
||||
}
|
||||
|
||||
ret = sceRtcSetTime_t((pspTime *)&psp_stat.sce_st_mtime, times->modtime);
|
||||
if (ret < 0) {
|
||||
return __set_errno(ret);
|
||||
}
|
||||
|
||||
ret = sceIoChstat(dest, &psp_stat, 0x0030);
|
||||
if (ret < 0) {
|
||||
return __set_errno(ret);
|
||||
}
|
||||
|
||||
return 0;
|
||||
}
|
||||
#endif
|
||||
@@ -844,8 +883,8 @@ int utime(const char *path, const struct utimbuf *times)
|
||||
#ifdef F_fchown
|
||||
int fchown(int fd, uid_t owner, gid_t group)
|
||||
{
|
||||
// TODO: Implement proper functionality
|
||||
return 0;
|
||||
errno = ENOSYS;
|
||||
return -1; /* not supported */
|
||||
}
|
||||
#endif
|
||||
|
||||
|
@@ -8,7 +8,7 @@ ASFLAGS = $(CFLAGS)
|
||||
|
||||
LIBDIR =
|
||||
LDFLAGS =
|
||||
LIBS = -lpspaudiolib -lpspaudio -lm
|
||||
LIBS = -lpspaudiolib -lpspaudio
|
||||
|
||||
EXTRA_TARGETS = EBOOT.PBP
|
||||
PSP_EBOOT_TITLE = Audiolib Wave Generator
|
||||
|
@@ -8,7 +8,7 @@ ASFLAGS = $(CFLAGS)
|
||||
|
||||
LIBDIR =
|
||||
LDFLAGS =
|
||||
LIBS= -lpspgum -lpspgu -lm
|
||||
LIBS= -lpspgum -lpspgu
|
||||
|
||||
EXTRA_TARGETS = EBOOT.PBP
|
||||
PSP_EBOOT_TITLE = BeginObject Sample
|
||||
|
@@ -8,7 +8,7 @@ ASFLAGS = $(CFLAGS)
|
||||
|
||||
LIBDIR =
|
||||
LDFLAGS =
|
||||
LIBS= -lpspgum -lpspgu -lpsprtc
|
||||
LIBS= -lpspgum -lpspgu
|
||||
|
||||
EXTRA_TARGETS = EBOOT.PBP
|
||||
PSP_EBOOT_TITLE = Blit Sample
|
||||
|
@@ -8,7 +8,7 @@ ASFLAGS = $(CFLAGS)
|
||||
|
||||
LIBDIR =
|
||||
LDFLAGS =
|
||||
LIBS= -lpspgum -lpspgu -lm
|
||||
LIBS= -lpspgum -lpspgu
|
||||
|
||||
EXTRA_TARGETS = EBOOT.PBP
|
||||
PSP_EBOOT_TITLE = Celshading Sample
|
||||
|
@@ -8,7 +8,7 @@ ASFLAGS = $(CFLAGS)
|
||||
|
||||
LIBDIR =
|
||||
LDFLAGS =
|
||||
LIBS= -lpspgum -lpspgu -lm
|
||||
LIBS= -lpspgum -lpspgu
|
||||
|
||||
EXTRA_TARGETS = EBOOT.PBP
|
||||
PSP_EBOOT_TITLE = Cube Sample
|
||||
|
@@ -8,7 +8,7 @@ ASFLAGS = $(CFLAGS)
|
||||
|
||||
LIBDIR =
|
||||
LDFLAGS =
|
||||
LIBS= -lpspgum -lpspgu -lm
|
||||
LIBS= -lpspgum -lpspgu
|
||||
|
||||
EXTRA_TARGETS = EBOOT.PBP
|
||||
PSP_EBOOT_TITLE = Environment Mapping Sample
|
||||
|
@@ -8,7 +8,7 @@ ASFLAGS = $(CFLAGS)
|
||||
|
||||
LIBDIR =
|
||||
LDFLAGS =
|
||||
LIBS= -lpspgum -lpspgu -lm
|
||||
LIBS= -lpspgum -lpspgu
|
||||
|
||||
EXTRA_TARGETS = EBOOT.PBP
|
||||
PSP_EBOOT_TITLE = Integer Drawing Sample
|
||||
|
@@ -8,7 +8,7 @@ ASFLAGS = $(CFLAGS)
|
||||
|
||||
LIBDIR =
|
||||
LDFLAGS =
|
||||
LIBS= -lpspgum -lpspgu -lm
|
||||
LIBS= -lpspgum -lpspgu
|
||||
|
||||
EXTRA_TARGETS = EBOOT.PBP
|
||||
PSP_EBOOT_TITLE = Lights Sample
|
||||
|
@@ -8,7 +8,7 @@ ASFLAGS = $(CFLAGS)
|
||||
|
||||
LIBDIR =
|
||||
LDFLAGS =
|
||||
LIBS= -lpspgu -lm
|
||||
LIBS= -lpspgu
|
||||
|
||||
EXTRA_TARGETS = EBOOT.PBP
|
||||
PSP_EBOOT_TITLE = Logic Sample
|
||||
|
@@ -9,7 +9,7 @@ ASFLAGS = $(CFLAGS)
|
||||
LIBDIR =
|
||||
LDFLAGS =
|
||||
|
||||
LIBS = -lpspgum -lpspgu -lm
|
||||
LIBS = -lpspgum -lpspgu
|
||||
|
||||
EXTRA_TARGETS = EBOOT.PBP
|
||||
PSP_EBOOT_TITLE = MIP Mapping Sample
|
||||
|
@@ -8,7 +8,7 @@ ASFLAGS = $(CFLAGS)
|
||||
|
||||
LIBDIR =
|
||||
LDFLAGS =
|
||||
LIBS= -lpspgum -lpspgu -lm
|
||||
LIBS= -lpspgum -lpspgu
|
||||
|
||||
EXTRA_TARGETS = EBOOT.PBP
|
||||
PSP_EBOOT_TITLE = Morph Sample
|
||||
|
@@ -8,7 +8,7 @@ ASFLAGS = $(CFLAGS)
|
||||
|
||||
LIBDIR =
|
||||
LDFLAGS =
|
||||
LIBS = -lpspgum -lpspgu -lm
|
||||
LIBS = -lpspgum -lpspgu
|
||||
|
||||
EXTRA_TARGETS = EBOOT.PBP
|
||||
PSP_EBOOT_TITLE = Simultaneous Morphing and Skinning Sample
|
||||
|
@@ -9,7 +9,7 @@ CXXFLAGS = $(CFLAGS) -fno-exceptions -fno-rtti
|
||||
ASFLAGS = $(CFLAGS)
|
||||
|
||||
LIBDIR =
|
||||
LIBS = -lpspgum -lpspgu -lm
|
||||
LIBS = -lpspgum -lpspgu
|
||||
LDFLAGS =
|
||||
|
||||
EXTRA_TARGETS = EBOOT.PBP
|
||||
|
@@ -8,7 +8,7 @@ ASFLAGS = $(CFLAGS)
|
||||
|
||||
LIBDIR =
|
||||
LDFLAGS =
|
||||
LIBS= -lpspgum -lpspgu -lm
|
||||
LIBS= -lpspgum -lpspgu
|
||||
|
||||
EXTRA_TARGETS = EBOOT.PBP
|
||||
PSP_EBOOT_TITLE = Reflection Sample
|
||||
|
@@ -8,7 +8,7 @@ ASFLAGS = $(CFLAGS)
|
||||
|
||||
LIBDIR =
|
||||
LDFLAGS =
|
||||
LIBS = -lpspgum -lpspgu -lm
|
||||
LIBS = -lpspgum -lpspgu
|
||||
|
||||
EXTRA_TARGETS = EBOOT.PBP
|
||||
PSP_EBOOT_TITLE = Render-To-Texture Sample
|
||||
|
@@ -8,7 +8,7 @@ ASFLAGS = $(CFLAGS)
|
||||
|
||||
LIBDIR =
|
||||
LDFLAGS =
|
||||
LIBS = -lpspgum -lpspgu -lm
|
||||
LIBS = -lpspgum -lpspgu
|
||||
|
||||
EXTRA_TARGETS = EBOOT.PBP
|
||||
PSP_EBOOT_TITLE = Shadow Projection Sample
|
||||
|
@@ -8,7 +8,7 @@ ASFLAGS = $(CFLAGS)
|
||||
|
||||
LIBDIR =
|
||||
LDFLAGS =
|
||||
LIBS= -lpspgum -lpspgu -lm
|
||||
LIBS= -lpspgum -lpspgu
|
||||
|
||||
EXTRA_TARGETS = EBOOT.PBP
|
||||
PSP_EBOOT_TITLE = Signals Sample
|
||||
|
@@ -8,7 +8,7 @@ ASFLAGS = $(CFLAGS)
|
||||
|
||||
LIBDIR =
|
||||
LDFLAGS =
|
||||
LIBS = -lpspgum -lpspgu -lm
|
||||
LIBS = -lpspgum -lpspgu
|
||||
|
||||
EXTRA_TARGETS = EBOOT.PBP
|
||||
PSP_EBOOT_TITLE = Matrix Skinning Sample
|
||||
|
@@ -8,7 +8,7 @@ ASFLAGS = $(CFLAGS)
|
||||
|
||||
LIBDIR =
|
||||
LDFLAGS =
|
||||
LIBS= -lpspgum -lpspgu -lpsprtc
|
||||
LIBS= -lpspgum -lpspgu
|
||||
|
||||
EXTRA_TARGETS = EBOOT.PBP
|
||||
PSP_EBOOT_TITLE = Memory Speed Sample
|
||||
|
@@ -8,7 +8,7 @@ ASFLAGS = $(CFLAGS)
|
||||
|
||||
LIBDIR =
|
||||
LDFLAGS =
|
||||
LIBS= -lpspgum -lpspgu -lm
|
||||
LIBS= -lpspgum -lpspgu
|
||||
|
||||
EXTRA_TARGETS = convlogo EBOOT.PBP
|
||||
PSP_EBOOT_TITLE = adresd - spharm v1.0
|
||||
|
@@ -8,7 +8,7 @@ ASFLAGS = $(CFLAGS)
|
||||
|
||||
LIBDIR =
|
||||
LDFLAGS =
|
||||
LIBS= -lpspgum -lpspgu -lm
|
||||
LIBS= -lpspgum -lpspgu
|
||||
|
||||
EXTRA_TARGETS = EBOOT.PBP
|
||||
PSP_EBOOT_TITLE = Spline Surface Sample
|
||||
|
@@ -8,7 +8,7 @@ ASFLAGS = $(CFLAGS)
|
||||
|
||||
LIBDIR =
|
||||
LDFLAGS =
|
||||
LIBS= -lpspgum -lpspgu -lm
|
||||
LIBS= -lpspgum -lpspgu
|
||||
|
||||
EXTRA_TARGETS = EBOOT.PBP
|
||||
PSP_EBOOT_TITLE = Sprite Sample
|
||||
|
@@ -8,7 +8,7 @@ ASFLAGS = $(CFLAGS)
|
||||
|
||||
LIBDIR =
|
||||
LDFLAGS =
|
||||
LIBS= -lpspgum -lpspgu -lm
|
||||
LIBS= -lpspgum -lpspgu
|
||||
|
||||
EXTRA_TARGETS = EBOOT.PBP
|
||||
PSP_EBOOT_TITLE = GUFont Sample by McZonk
|
||||
|
@@ -8,7 +8,7 @@ ASFLAGS = $(CFLAGS)
|
||||
|
||||
LIBDIR =
|
||||
LDFLAGS =
|
||||
LIBS = -lpspgum -lpspgu -lm
|
||||
LIBS = -lpspgum -lpspgu
|
||||
|
||||
EXTRA_TARGETS = EBOOT.PBP
|
||||
PSP_EBOOT_TITLE = Timing Sample
|
||||
|
@@ -8,7 +8,7 @@ ASFLAGS = $(CFLAGS)
|
||||
|
||||
LIBDIR =
|
||||
LDFLAGS =
|
||||
LIBS= -lpspgum -lpspgu -lm -lpsprtc
|
||||
LIBS= -lpspgum -lpspgu
|
||||
|
||||
EXTRA_TARGETS = EBOOT.PBP
|
||||
PSP_EBOOT_TITLE = Vertex Speed Sample
|
||||
|
@@ -8,7 +8,7 @@ ASFLAGS = $(CFLAGS)
|
||||
|
||||
LIBDIR =
|
||||
LDFLAGS =
|
||||
LIBS= -lpspgum -lpspgu -lm
|
||||
LIBS= -lpspgum -lpspgu
|
||||
|
||||
EXTRA_TARGETS = EBOOT.PBP
|
||||
PSP_EBOOT_TITLE = Depth Buffer Fog Sample
|
||||
|
Reference in New Issue
Block a user