Changeset 2096
- Timestamp:
- Jun 28, 2005, 1:50:04 AM (20 years ago)
- Location:
- trunk/src/emx
- Files:
-
- 3 edited
Legend:
- Unmodified
- Added
- Removed
-
trunk/src/emx/ChangeLog.LIBC
-
Property cvs2svn:cvs-rev
changed from
1.66
to1.67
r2095 r2096 1 1 /* $Id$ */ 2 3 2005-06-27: knut st. osmundsen <bird-gccos2-spam@anduin.net> 4 - emxomfld, ld: 5 o Generate .def-file for dlls without one. (This only makes sense for 6 emxomfld since ld doesn't implement __declspec(dllexport) yet, but 7 anyway.) 2 8 3 9 2005-06-26: knut st. osmundsen <bird-gccos2-spam@anduin.net> -
Property cvs2svn:cvs-rev
changed from
-
trunk/src/emx/src/emxomf/emxomfld.c
-
Property cvs2svn:cvs-rev
changed from
1.39
to1.40
r2095 r2096 1185 1185 } 1186 1186 1187 /* Generates a definition file for a dll which doesn't have one. */ 1188 static void gen_deffile(void) 1189 { 1190 char *psz = xmalloc(_MAX_PATH); 1191 if (!make_tempfile(psz, "lddef", ".def", NULL)) 1192 { 1193 FILE *pFile = fopen(psz, "w"); 1194 if (pFile) 1195 { 1196 const char *pszName = _getname(output_fname); 1197 size_t cchName = strlen(pszName); 1198 if (cchName > 4 && !stricmp(pszName + cchName - 4, ".dll")) 1199 cchName -= 4; 1200 fprintf(pFile, 1201 ";; Autogenerated by emxomfld\n" 1202 "LIBRARY %.*s INITINSTANCE TERMINSTANCE\n" 1203 "DATA MULTIPLE\n" 1204 "CODE SHARED\n" 1205 "\n", 1206 cchName, pszName); 1207 fclose(pFile); 1208 def_fname = psz; 1209 if (opt_t) 1210 fprintf(stderr, 1211 "--- Generated def-file %s:\n" 1212 ";; Autogenerated by emxomfld\n" 1213 "LIBRARY %.*s INITINSTANCE TERMINSTANCE\n" 1214 "DATA MULTIPLE NONSHARED\n" 1215 "CODE SINGLE SHARED\n" 1216 "---- End of generated def-file.\n", 1217 psz, cchName, pszName); 1218 return; 1219 } 1220 } 1221 free(psz); 1222 } 1187 1223 1188 1224 /* -t output. We dump the commandline and responsefile. */ … … 1661 1697 } 1662 1698 1699 /* generate .def-file for dlls. */ 1700 1701 if (!def_fname && dll_flag) 1702 gen_deffile(); 1663 1703 1664 1704 /* Do the weak prelinking unless GCC_WEAKSYMS are set. -
Property cvs2svn:cvs-rev
changed from
-
trunk/src/emx/src/ld/ld.c
-
Property cvs2svn:cvs-rev
changed from
1.17
to1.18
r2095 r2096 929 929 int assign_string_table_index (char *name); 930 930 unsigned long check_each_file (register unsigned long (*function)(), register int arg); 931 static int make_tempfile(char *pszFile, const char *pszPrefix, const char *pszSuffix); 931 932 932 933 … … 3906 3907 } 3907 3908 3909 /* Generates a definition file for a dll which doesn't have one. */ 3910 3911 static void gen_deffile(void) 3912 { 3913 char *psz = xmalloc(_MAX_PATH); 3914 if (!make_tempfile(psz, "lddef", ".def")) 3915 { 3916 FILE *pFile = fopen(psz, "w"); 3917 if (pFile) 3918 { 3919 const char *pszName = _getname(exe_filename); 3920 size_t cchName = strlen(pszName); 3921 if (cchName > 4 && !stricmp(pszName + cchName - 4, ".dll")) 3922 cchName -= 4; 3923 fprintf(pFile, 3924 ";; Autogenerated by ld\n" 3925 "LIBRARY %.*s INITINSTANCE TERMINSTANCE\n" 3926 "DATA MULTIPLE\n" 3927 "CODE SHARED\n" 3928 "\n", 3929 cchName, pszName); 3930 if (trace_files) 3931 fprintf(stderr, 3932 "--- Generated def-file %s:\n" 3933 ";; Autogenerated by ld\n" 3934 "LIBRARY %.*s INITINSTANCE TERMINSTANCE\n" 3935 "DATA MULTIPLE NONSHARED\n" 3936 "CODE SINGLE SHARED\n" 3937 "---- End of generated def-file.\n", 3938 psz, cchName, pszName); 3939 fclose(pFile); 3940 def_filename = psz; 3941 return; 3942 } 3943 } 3944 free(psz); 3945 } 3946 3947 3908 3948 /* Write the output file */ 3909 3949 … … 3979 4019 if (emxbind_strip) 3980 4020 nargv[i++] = "-s"; 4021 if (dll_flag && !def_filename) 4022 gen_deffile(); 3981 4023 if (def_filename != NULL) 3982 4024 { … … 3987 4029 } 3988 4030 else if (dll_flag) 3989 nargv[i++] = "-d";4031 nargv[i++] = "-d"; 3990 4032 if (stack_size != 0) 3991 4033 { … … 4019 4061 nargv[i++] = output_filename; 4020 4062 nargv[i] = NULL; 4063 if (trace_files) 4064 { 4065 fprintf(stderr, "Invoking emxbind:"); 4066 for (i = 0; nargv[i]; i++) 4067 fprintf(stderr, " %s", nargv[i]); 4068 fprintf(stderr, "\n"); 4069 } 4021 4070 i = spawnvp (P_WAIT, "emxbind", nargv); 4022 4071 saved_errno = errno; unlink (output_filename); errno = saved_errno; -
Property cvs2svn:cvs-rev
changed from
Note:
See TracChangeset
for help on using the changeset viewer.