Pastebin launched a little side project called VERYVIRAL.com, check it out ;-) Want more features on Pastebin? Sign Up, it's FREE!
Guest

silverligth.patch

By: ImNtReal on Dec 26th, 2012  |  syntax: Diff  |  size: 169.84 KB  |  views: 92  |  expires: Never
download  |  raw  |  embed  |  report abuse  |  print
Text below is selected. Please press Ctrl+C to copy to your clipboard. (⌘+C on Mac)
  1. diff -rupN wine-1.5.19/ChangeLog wine-silverlight-1.5.19/ChangeLog
  2. --- wine-1.5.19/ChangeLog       1969-12-31 16:00:00.000000000 -0800
  3. +++ wine-silverlight-1.5.19/ChangeLog   2012-12-20 18:16:39.099593683 -0800
  4. @@ -0,0 +1,3 @@
  5. +wine-compholio (X.Y.Z) lucid; urgency=low
  6. +  * See also normal changelog file for Debian changes.
  7. + -- Erich E. Hoover <ehoover@mines.edu>  Fri, 16 Apr 2010 12:20:00 -0600
  8. diff -rupN wine-1.5.19/configure wine-silverlight-1.5.19/configure
  9. --- wine-1.5.19/configure       2012-12-07 11:17:32.000000000 -0800
  10. +++ wine-silverlight-1.5.19/configure   2012-12-20 18:16:39.102926747 -0800
  11. @@ -134,31 +136,6 @@ export LANGUAGE
  12.  # CDPATH.
  13.  (unset CDPATH) >/dev/null 2>&1 && unset CDPATH
  14.  
  15. -# Use a proper internal environment variable to ensure we don't fall
  16. -  # into an infinite loop, continuously re-executing ourselves.
  17. -  if test x"${_as_can_reexec}" != xno && test "x$CONFIG_SHELL" != x; then
  18. -    _as_can_reexec=no; export _as_can_reexec;
  19. -    # We cannot yet assume a decent shell, so we have to provide a
  20. -# neutralization value for shells without unset; and this also
  21. -# works around shells that cannot unset nonexistent variables.
  22. -# Preserve -v and -x to the replacement shell.
  23. -BASH_ENV=/dev/null
  24. -ENV=/dev/null
  25. -(unset BASH_ENV) >/dev/null 2>&1 && unset BASH_ENV ENV
  26. -case $- in # ((((
  27. -  *v*x* | *x*v* ) as_opts=-vx ;;
  28. -  *v* ) as_opts=-v ;;
  29. -  *x* ) as_opts=-x ;;
  30. -  * ) as_opts= ;;
  31. -esac
  32. -exec $CONFIG_SHELL $as_opts "$as_myself" ${1+"$@"}
  33. -# Admittedly, this is quite paranoid, since all the known shells bail
  34. -# out after a failed `exec'.
  35. -$as_echo "$0: could not re-execute with $CONFIG_SHELL" >&2
  36. -as_fn_exit 255
  37. -  fi
  38. -  # We don't want this to propagate to other subprocesses.
  39. -          { _as_can_reexec=; unset _as_can_reexec;}
  40.  if test "x$CONFIG_SHELL" = x; then
  41.    as_bourne_compatible="if test -n \"\${ZSH_VERSION+set}\" && (emulate sh) >/dev/null 2>&1; then :
  42.    emulate sh
  43. @@ -192,8 +169,7 @@ if ( set x; as_fn_ret_success y && test
  44.  else
  45.    exitcode=1; echo positional parameters were not saved.
  46.  fi
  47. -test x\$exitcode = x0 || exit 1
  48. -test -x / || exit 1"
  49. +test x\$exitcode = x0 || exit 1"
  50.    as_suggested="  as_lineno_1=";as_suggested=$as_suggested$LINENO;as_suggested=$as_suggested" as_lineno_1a=\$LINENO
  51.    as_lineno_2=";as_suggested=$as_suggested$LINENO;as_suggested=$as_suggested" as_lineno_2a=\$LINENO
  52.    eval 'test \"x\$as_lineno_1'\$as_run'\" != \"x\$as_lineno_2'\$as_run'\" &&
  53. @@ -238,25 +214,21 @@ IFS=$as_save_IFS
  54.  
  55.  
  56.        if test "x$CONFIG_SHELL" != x; then :
  57. -  export CONFIG_SHELL
  58. -             # We cannot yet assume a decent shell, so we have to provide a
  59. -# neutralization value for shells without unset; and this also
  60. -# works around shells that cannot unset nonexistent variables.
  61. -# Preserve -v and -x to the replacement shell.
  62. -BASH_ENV=/dev/null
  63. -ENV=/dev/null
  64. -(unset BASH_ENV) >/dev/null 2>&1 && unset BASH_ENV ENV
  65. -case $- in # ((((
  66. -  *v*x* | *x*v* ) as_opts=-vx ;;
  67. -  *v* ) as_opts=-v ;;
  68. -  *x* ) as_opts=-x ;;
  69. -  * ) as_opts= ;;
  70. -esac
  71. -exec $CONFIG_SHELL $as_opts "$as_myself" ${1+"$@"}
  72. -# Admittedly, this is quite paranoid, since all the known shells bail
  73. -# out after a failed `exec'.
  74. -$as_echo "$0: could not re-execute with $CONFIG_SHELL" >&2
  75. -exit 255
  76. +  # We cannot yet assume a decent shell, so we have to provide a
  77. +       # neutralization value for shells without unset; and this also
  78. +       # works around shells that cannot unset nonexistent variables.
  79. +       # Preserve -v and -x to the replacement shell.
  80. +       BASH_ENV=/dev/null
  81. +       ENV=/dev/null
  82. +       (unset BASH_ENV) >/dev/null 2>&1 && unset BASH_ENV ENV
  83. +       export CONFIG_SHELL
  84. +       case $- in # ((((
  85. +         *v*x* | *x*v* ) as_opts=-vx ;;
  86. +         *v* ) as_opts=-v ;;
  87. +         *x* ) as_opts=-x ;;
  88. +         * ) as_opts= ;;
  89. +       esac
  90. +       exec "$CONFIG_SHELL" $as_opts "$as_myself" ${1+"$@"}
  91.  fi
  92.  
  93.      if test x$as_have_required = xno; then :
  94. @@ -359,14 +331,6 @@ $as_echo X"$as_dir" |
  95.  
  96.  
  97.  } # as_fn_mkdir_p
  98. -
  99. -# as_fn_executable_p FILE
  100. -# -----------------------
  101. -# Test if FILE is an executable regular file.
  102. -as_fn_executable_p ()
  103. -{
  104. -  test -f "$1" && test -x "$1"
  105. -} # as_fn_executable_p
  106.  # as_fn_append VAR VALUE
  107.  # ----------------------
  108.  # Append the text in VALUE to the end of the definition contained in VAR. Take
  109. @@ -488,10 +452,6 @@ as_cr_alnum=$as_cr_Letters$as_cr_digits
  110.    chmod +x "$as_me.lineno" ||
  111.      { $as_echo "$as_me: error: cannot create $as_me.lineno; rerun with a POSIX shell" >&2; as_fn_exit 1; }
  112.  
  113. -  # If we had to re-execute with $CONFIG_SHELL, we're ensured to have
  114. -  # already done that, so ensure we don't try to do so again and fall
  115. -  # in an infinite loop.  This has already happened in practice.
  116. -  _as_can_reexec=no; export _as_can_reexec
  117.    # Don't try to exec as it changes $[0], causing all sort of problems
  118.    # (the dirname of $[0] is not the place where we might find the
  119.    # original and so on.  Autoconf is especially sensitive to this).
  120. @@ -526,16 +486,16 @@ if (echo >conf$$.file) 2>/dev/null; then
  121.      # ... but there are two gotchas:
  122.      # 1) On MSYS, both `ln -s file dir' and `ln file dir' fail.
  123.      # 2) DJGPP < 2.04 has no symlinks; `ln -s' creates a wrapper executable.
  124. -    # In both cases, we have to default to `cp -pR'.
  125. +    # In both cases, we have to default to `cp -p'.
  126.      ln -s conf$$.file conf$$.dir 2>/dev/null && test ! -f conf$$.exe ||
  127. -      as_ln_s='cp -pR'
  128. +      as_ln_s='cp -p'
  129.    elif ln conf$$.file conf$$ 2>/dev/null; then
  130.      as_ln_s=ln
  131.    else
  132. -    as_ln_s='cp -pR'
  133. +    as_ln_s='cp -p'
  134.    fi
  135.  else
  136. -  as_ln_s='cp -pR'
  137. +  as_ln_s='cp -p'
  138.  fi
  139.  rm -f conf$$ conf$$.exe conf$$.dir/conf$$.file conf$$.file
  140.  rmdir conf$$.dir 2>/dev/null
  141. @@ -547,8 +507,28 @@ else
  142.    as_mkdir_p=false
  143.  fi
  144.  
  145. -as_test_x='test -x'
  146. -as_executable_p=as_fn_executable_p
  147. +if test -x / >/dev/null 2>&1; then
  148. +  as_test_x='test -x'
  149. +else
  150. +  if ls -dL / >/dev/null 2>&1; then
  151. +    as_ls_L_option=L
  152. +  else
  153. +    as_ls_L_option=
  154. +  fi
  155. +  as_test_x='
  156. +    eval sh -c '\''
  157. +      if test -d "$1"; then
  158. +       test -d "$1/.";
  159. +      else
  160. +       case $1 in #(
  161. +       -*)set "./$1";;
  162. +       esac;
  163. +       case `ls -ld'$as_ls_L_option' "$1" 2>/dev/null` in #((
  164. +       ???[sx]*):;;*)false;;esac;fi
  165. +    '\'' sh
  166. +  '
  167. +fi
  168. +as_executable_p=$as_test_x
  169.  
  170.  # Sed expression to map a string onto a valid CPP name.
  171.  as_tr_cpp="eval sed 'y%*$as_cr_letters%P$as_cr_LETTERS%;s%[^_$as_cr_alnum]%_%g'"
  172. @@ -1315,6 +1295,8 @@ target=$target_alias
  173.  if test "x$host_alias" != x; then
  174.    if test "x$build_alias" = x; then
  175.      cross_compiling=maybe
  176. +    $as_echo "$as_me: WARNING: if you wanted to set the --build type, don't use --host.
  177. +    If a cross compiler is detected then cross compile mode will be used" >&2
  178.    elif test "x$build_alias" != "x$host_alias"; then
  179.      cross_compiling=yes
  180.    fi
  181. @@ -1733,7 +1715,7 @@ $as_echo "$ac_try_echo"; } >&5
  182.          test ! -s conftest.err
  183.         } && test -s conftest$ac_exeext && {
  184.          test "$cross_compiling" = yes ||
  185. -        test -x conftest$ac_exeext
  186. +        $as_test_x conftest$ac_exeext
  187.         }; then :
  188.    ac_retval=0
  189.  else
  190. @@ -2950,7 +2932,7 @@ do
  191.    IFS=$as_save_IFS
  192.    test -z "$as_dir" && as_dir=.
  193.      for ac_exec_ext in '' $ac_executable_extensions; do
  194. -  if as_fn_executable_p "$as_dir/$ac_word$ac_exec_ext"; then
  195. +  if { test -f "$as_dir/$ac_word$ac_exec_ext" && $as_test_x "$as_dir/$ac_word$ac_exec_ext"; }; then
  196.      ac_cv_prog_CC="${ac_tool_prefix}gcc"
  197.      $as_echo "$as_me:${as_lineno-$LINENO}: found $as_dir/$ac_word$ac_exec_ext" >&5
  198.      break 2
  199. @@ -2990,7 +2972,7 @@ do
  200.    IFS=$as_save_IFS
  201.    test -z "$as_dir" && as_dir=.
  202.      for ac_exec_ext in '' $ac_executable_extensions; do
  203. -  if as_fn_executable_p "$as_dir/$ac_word$ac_exec_ext"; then
  204. +  if { test -f "$as_dir/$ac_word$ac_exec_ext" && $as_test_x "$as_dir/$ac_word$ac_exec_ext"; }; then
  205.      ac_cv_prog_ac_ct_CC="gcc"
  206.      $as_echo "$as_me:${as_lineno-$LINENO}: found $as_dir/$ac_word$ac_exec_ext" >&5
  207.      break 2
  208. @@ -3043,7 +3025,7 @@ do
  209.    IFS=$as_save_IFS
  210.    test -z "$as_dir" && as_dir=.
  211.      for ac_exec_ext in '' $ac_executable_extensions; do
  212. -  if as_fn_executable_p "$as_dir/$ac_word$ac_exec_ext"; then
  213. +  if { test -f "$as_dir/$ac_word$ac_exec_ext" && $as_test_x "$as_dir/$ac_word$ac_exec_ext"; }; then
  214.      ac_cv_prog_CC="${ac_tool_prefix}cc"
  215.      $as_echo "$as_me:${as_lineno-$LINENO}: found $as_dir/$ac_word$ac_exec_ext" >&5
  216.      break 2
  217. @@ -3084,7 +3066,7 @@ do
  218.    IFS=$as_save_IFS
  219.    test -z "$as_dir" && as_dir=.
  220.      for ac_exec_ext in '' $ac_executable_extensions; do
  221. -  if as_fn_executable_p "$as_dir/$ac_word$ac_exec_ext"; then
  222. +  if { test -f "$as_dir/$ac_word$ac_exec_ext" && $as_test_x "$as_dir/$ac_word$ac_exec_ext"; }; then
  223.      if test "$as_dir/$ac_word$ac_exec_ext" = "/usr/ucb/cc"; then
  224.         ac_prog_rejected=yes
  225.         continue
  226. @@ -3142,7 +3124,7 @@ do
  227.    IFS=$as_save_IFS
  228.    test -z "$as_dir" && as_dir=.
  229.      for ac_exec_ext in '' $ac_executable_extensions; do
  230. -  if as_fn_executable_p "$as_dir/$ac_word$ac_exec_ext"; then
  231. +  if { test -f "$as_dir/$ac_word$ac_exec_ext" && $as_test_x "$as_dir/$ac_word$ac_exec_ext"; }; then
  232.      ac_cv_prog_CC="$ac_tool_prefix$ac_prog"
  233.      $as_echo "$as_me:${as_lineno-$LINENO}: found $as_dir/$ac_word$ac_exec_ext" >&5
  234.      break 2
  235. @@ -3186,7 +3168,7 @@ do
  236.    IFS=$as_save_IFS
  237.    test -z "$as_dir" && as_dir=.
  238.      for ac_exec_ext in '' $ac_executable_extensions; do
  239. -  if as_fn_executable_p "$as_dir/$ac_word$ac_exec_ext"; then
  240. +  if { test -f "$as_dir/$ac_word$ac_exec_ext" && $as_test_x "$as_dir/$ac_word$ac_exec_ext"; }; then
  241.      ac_cv_prog_ac_ct_CC="$ac_prog"
  242.      $as_echo "$as_me:${as_lineno-$LINENO}: found $as_dir/$ac_word$ac_exec_ext" >&5
  243.      break 2
  244. @@ -3632,7 +3614,8 @@ cat confdefs.h - <<_ACEOF >conftest.$ac_
  245.  /* end confdefs.h.  */
  246.  #include <stdarg.h>
  247.  #include <stdio.h>
  248. -struct stat;
  249. +#include <sys/types.h>
  250. +#include <sys/stat.h>
  251.  /* Most of the following tests are stolen from RCS 5.7's src/conf.sh.  */
  252.  struct buf { int x; };
  253.  FILE * (*rcsopen) (struct buf *, struct stat *, int);
  254. @@ -3745,7 +3728,7 @@ do
  255.    IFS=$as_save_IFS
  256.    test -z "$as_dir" && as_dir=.
  257.      for ac_exec_ext in '' $ac_executable_extensions; do
  258. -  if as_fn_executable_p "$as_dir/$ac_word$ac_exec_ext"; then
  259. +  if { test -f "$as_dir/$ac_word$ac_exec_ext" && $as_test_x "$as_dir/$ac_word$ac_exec_ext"; }; then
  260.      ac_cv_prog_CXX="$ac_tool_prefix$ac_prog"
  261.      $as_echo "$as_me:${as_lineno-$LINENO}: found $as_dir/$ac_word$ac_exec_ext" >&5
  262.      break 2
  263. @@ -3789,7 +3772,7 @@ do
  264.    IFS=$as_save_IFS
  265.    test -z "$as_dir" && as_dir=.
  266.      for ac_exec_ext in '' $ac_executable_extensions; do
  267. -  if as_fn_executable_p "$as_dir/$ac_word$ac_exec_ext"; then
  268. +  if { test -f "$as_dir/$ac_word$ac_exec_ext" && $as_test_x "$as_dir/$ac_word$ac_exec_ext"; }; then
  269.      ac_cv_prog_ac_ct_CXX="$ac_prog"
  270.      $as_echo "$as_me:${as_lineno-$LINENO}: found $as_dir/$ac_word$ac_exec_ext" >&5
  271.      break 2
  272. @@ -3991,7 +3974,7 @@ do
  273.    IFS=$as_save_IFS
  274.    test -z "$as_dir" && as_dir=.
  275.      for ac_exec_ext in '' $ac_executable_extensions; do
  276. -  if as_fn_executable_p "$as_dir/$ac_word$ac_exec_ext"; then
  277. +  if { test -f "$as_dir/$ac_word$ac_exec_ext" && $as_test_x "$as_dir/$ac_word$ac_exec_ext"; }; then
  278.      ac_cv_prog_CPPBIN="${ac_tool_prefix}cpp"
  279.      $as_echo "$as_me:${as_lineno-$LINENO}: found $as_dir/$ac_word$ac_exec_ext" >&5
  280.      break 2
  281. @@ -4031,7 +4014,7 @@ do
  282.    IFS=$as_save_IFS
  283.    test -z "$as_dir" && as_dir=.
  284.      for ac_exec_ext in '' $ac_executable_extensions; do
  285. -  if as_fn_executable_p "$as_dir/$ac_word$ac_exec_ext"; then
  286. +  if { test -f "$as_dir/$ac_word$ac_exec_ext" && $as_test_x "$as_dir/$ac_word$ac_exec_ext"; }; then
  287.      ac_cv_prog_ac_ct_CPPBIN="cpp"
  288.      $as_echo "$as_me:${as_lineno-$LINENO}: found $as_dir/$ac_word$ac_exec_ext" >&5
  289.      break 2
  290. @@ -4266,7 +4249,7 @@ do
  291.    IFS=$as_save_IFS
  292.    test -z "$as_dir" && as_dir=.
  293.      for ac_exec_ext in '' $ac_executable_extensions; do
  294. -  if as_fn_executable_p "$as_dir/$ac_word$ac_exec_ext"; then
  295. +  if { test -f "$as_dir/$ac_word$ac_exec_ext" && $as_test_x "$as_dir/$ac_word$ac_exec_ext"; }; then
  296.      ac_cv_prog_FLEX="$ac_prog"
  297.      $as_echo "$as_me:${as_lineno-$LINENO}: found $as_dir/$ac_word$ac_exec_ext" >&5
  298.      break 2
  299. @@ -4331,7 +4314,7 @@ do
  300.    IFS=$as_save_IFS
  301.    test -z "$as_dir" && as_dir=.
  302.      for ac_exec_ext in '' $ac_executable_extensions; do
  303. -  if as_fn_executable_p "$as_dir/$ac_word$ac_exec_ext"; then
  304. +  if { test -f "$as_dir/$ac_word$ac_exec_ext" && $as_test_x "$as_dir/$ac_word$ac_exec_ext"; }; then
  305.      ac_cv_prog_BISON="$ac_prog"
  306.      $as_echo "$as_me:${as_lineno-$LINENO}: found $as_dir/$ac_word$ac_exec_ext" >&5
  307.      break 2
  308. @@ -4380,7 +4363,7 @@ do
  309.    IFS=$as_save_IFS
  310.    test -z "$as_dir" && as_dir=.
  311.      for ac_exec_ext in '' $ac_executable_extensions; do
  312. -  if as_fn_executable_p "$as_dir/$ac_word$ac_exec_ext"; then
  313. +  if { test -f "$as_dir/$ac_word$ac_exec_ext" && $as_test_x "$as_dir/$ac_word$ac_exec_ext"; }; then
  314.      ac_cv_prog_AR="$ac_tool_prefix$ac_prog"
  315.      $as_echo "$as_me:${as_lineno-$LINENO}: found $as_dir/$ac_word$ac_exec_ext" >&5
  316.      break 2
  317. @@ -4424,7 +4407,7 @@ do
  318.    IFS=$as_save_IFS
  319.    test -z "$as_dir" && as_dir=.
  320.      for ac_exec_ext in '' $ac_executable_extensions; do
  321. -  if as_fn_executable_p "$as_dir/$ac_word$ac_exec_ext"; then
  322. +  if { test -f "$as_dir/$ac_word$ac_exec_ext" && $as_test_x "$as_dir/$ac_word$ac_exec_ext"; }; then
  323.      ac_cv_prog_ac_ct_AR="$ac_prog"
  324.      $as_echo "$as_me:${as_lineno-$LINENO}: found $as_dir/$ac_word$ac_exec_ext" >&5
  325.      break 2
  326. @@ -4480,7 +4463,7 @@ do
  327.    IFS=$as_save_IFS
  328.    test -z "$as_dir" && as_dir=.
  329.      for ac_exec_ext in '' $ac_executable_extensions; do
  330. -  if as_fn_executable_p "$as_dir/$ac_word$ac_exec_ext"; then
  331. +  if { test -f "$as_dir/$ac_word$ac_exec_ext" && $as_test_x "$as_dir/$ac_word$ac_exec_ext"; }; then
  332.      ac_cv_prog_RANLIB="${ac_tool_prefix}ranlib"
  333.      $as_echo "$as_me:${as_lineno-$LINENO}: found $as_dir/$ac_word$ac_exec_ext" >&5
  334.      break 2
  335. @@ -4520,7 +4503,7 @@ do
  336.    IFS=$as_save_IFS
  337.    test -z "$as_dir" && as_dir=.
  338.      for ac_exec_ext in '' $ac_executable_extensions; do
  339. -  if as_fn_executable_p "$as_dir/$ac_word$ac_exec_ext"; then
  340. +  if { test -f "$as_dir/$ac_word$ac_exec_ext" && $as_test_x "$as_dir/$ac_word$ac_exec_ext"; }; then
  341.      ac_cv_prog_ac_ct_RANLIB="ranlib"
  342.      $as_echo "$as_me:${as_lineno-$LINENO}: found $as_dir/$ac_word$ac_exec_ext" >&5
  343.      break 2
  344. @@ -4582,7 +4565,7 @@ do
  345.      for ac_prog in grep ggrep; do
  346.      for ac_exec_ext in '' $ac_executable_extensions; do
  347.        ac_path_GREP="$as_dir/$ac_prog$ac_exec_ext"
  348. -      as_fn_executable_p "$ac_path_GREP" || continue
  349. +      { test -f "$ac_path_GREP" && $as_test_x "$ac_path_GREP"; } || continue
  350.  # Check for GNU ac_path_GREP and select it if it is found.
  351.    # Check for GNU $ac_path_GREP
  352.  case `"$ac_path_GREP" --version 2>&1` in
  353. @@ -4648,7 +4631,7 @@ do
  354.      for ac_prog in egrep; do
  355.      for ac_exec_ext in '' $ac_executable_extensions; do
  356.        ac_path_EGREP="$as_dir/$ac_prog$ac_exec_ext"
  357. -      as_fn_executable_p "$ac_path_EGREP" || continue
  358. +      { test -f "$ac_path_EGREP" && $as_test_x "$ac_path_EGREP"; } || continue
  359.  # Check for GNU ac_path_EGREP and select it if it is found.
  360.    # Check for GNU $ac_path_EGREP
  361.  case `"$ac_path_EGREP" --version 2>&1` in
  362. @@ -4714,7 +4697,7 @@ do
  363.    IFS=$as_save_IFS
  364.    test -z "$as_dir" && as_dir=.
  365.      for ac_exec_ext in '' $ac_executable_extensions; do
  366. -  if as_fn_executable_p "$as_dir/$ac_word$ac_exec_ext"; then
  367. +  if { test -f "$as_dir/$ac_word$ac_exec_ext" && $as_test_x "$as_dir/$ac_word$ac_exec_ext"; }; then
  368.      ac_cv_path_LDCONFIG="$as_dir/$ac_word$ac_exec_ext"
  369.      $as_echo "$as_me:${as_lineno-$LINENO}: found $as_dir/$ac_word$ac_exec_ext" >&5
  370.      break 2
  371. @@ -4774,7 +4757,7 @@ case $as_dir/ in #((
  372.      # by default.
  373.      for ac_prog in ginstall scoinst install; do
  374.        for ac_exec_ext in '' $ac_executable_extensions; do
  375. -       if as_fn_executable_p "$as_dir/$ac_prog$ac_exec_ext"; then
  376. +       if { test -f "$as_dir/$ac_prog$ac_exec_ext" && $as_test_x "$as_dir/$ac_prog$ac_exec_ext"; }; then
  377.           if test $ac_prog = install &&
  378.             grep dspmsg "$as_dir/$ac_prog$ac_exec_ext" >/dev/null 2>&1; then
  379.             # AIX install.  It has an incompatible calling convention.
  380. @@ -4853,7 +4836,7 @@ do
  381.    IFS=$as_save_IFS
  382.    test -z "$as_dir" && as_dir=.
  383.      for ac_exec_ext in '' $ac_executable_extensions; do
  384. -  if as_fn_executable_p "$as_dir/$ac_word$ac_exec_ext"; then
  385. +  if { test -f "$as_dir/$ac_word$ac_exec_ext" && $as_test_x "$as_dir/$ac_word$ac_exec_ext"; }; then
  386.      ac_cv_prog_LINT="$ac_prog"
  387.      $as_echo "$as_me:${as_lineno-$LINENO}: found $as_dir/$ac_word$ac_exec_ext" >&5
  388.      break 2
  389. @@ -4901,7 +4884,7 @@ do
  390.    IFS=$as_save_IFS
  391.    test -z "$as_dir" && as_dir=.
  392.      for ac_exec_ext in '' $ac_executable_extensions; do
  393. -  if as_fn_executable_p "$as_dir/$ac_word$ac_exec_ext"; then
  394. +  if { test -f "$as_dir/$ac_word$ac_exec_ext" && $as_test_x "$as_dir/$ac_word$ac_exec_ext"; }; then
  395.      ac_cv_prog_FONTFORGE="$ac_prog"
  396.      $as_echo "$as_me:${as_lineno-$LINENO}: found $as_dir/$ac_word$ac_exec_ext" >&5
  397.      break 2
  398. @@ -4944,7 +4927,7 @@ do
  399.    IFS=$as_save_IFS
  400.    test -z "$as_dir" && as_dir=.
  401.      for ac_exec_ext in '' $ac_executable_extensions; do
  402. -  if as_fn_executable_p "$as_dir/$ac_word$ac_exec_ext"; then
  403. +  if { test -f "$as_dir/$ac_word$ac_exec_ext" && $as_test_x "$as_dir/$ac_word$ac_exec_ext"; }; then
  404.      ac_cv_prog_PKG_CONFIG="$ac_prog"
  405.      $as_echo "$as_me:${as_lineno-$LINENO}: found $as_dir/$ac_word$ac_exec_ext" >&5
  406.      break 2
  407. @@ -4987,7 +4970,7 @@ do
  408.    IFS=$as_save_IFS
  409.    test -z "$as_dir" && as_dir=.
  410.      for ac_exec_ext in '' $ac_executable_extensions; do
  411. -  if as_fn_executable_p "$as_dir/$ac_word$ac_exec_ext"; then
  412. +  if { test -f "$as_dir/$ac_word$ac_exec_ext" && $as_test_x "$as_dir/$ac_word$ac_exec_ext"; }; then
  413.      ac_cv_prog_RSVG="$ac_prog"
  414.      $as_echo "$as_me:${as_lineno-$LINENO}: found $as_dir/$ac_word$ac_exec_ext" >&5
  415.      break 2
  416. @@ -5030,7 +5013,7 @@ do
  417.    IFS=$as_save_IFS
  418.    test -z "$as_dir" && as_dir=.
  419.      for ac_exec_ext in '' $ac_executable_extensions; do
  420. -  if as_fn_executable_p "$as_dir/$ac_word$ac_exec_ext"; then
  421. +  if { test -f "$as_dir/$ac_word$ac_exec_ext" && $as_test_x "$as_dir/$ac_word$ac_exec_ext"; }; then
  422.      ac_cv_prog_CONVERT="$ac_prog"
  423.      $as_echo "$as_me:${as_lineno-$LINENO}: found $as_dir/$ac_word$ac_exec_ext" >&5
  424.      break 2
  425. @@ -5073,7 +5056,7 @@ do
  426.    IFS=$as_save_IFS
  427.    test -z "$as_dir" && as_dir=.
  428.      for ac_exec_ext in '' $ac_executable_extensions; do
  429. -  if as_fn_executable_p "$as_dir/$ac_word$ac_exec_ext"; then
  430. +  if { test -f "$as_dir/$ac_word$ac_exec_ext" && $as_test_x "$as_dir/$ac_word$ac_exec_ext"; }; then
  431.      ac_cv_prog_ICOTOOL="$ac_prog"
  432.      $as_echo "$as_me:${as_lineno-$LINENO}: found $as_dir/$ac_word$ac_exec_ext" >&5
  433.      break 2
  434. @@ -5116,7 +5099,7 @@ do
  435.    IFS=$as_save_IFS
  436.    test -z "$as_dir" && as_dir=.
  437.      for ac_exec_ext in '' $ac_executable_extensions; do
  438. -  if as_fn_executable_p "$as_dir/$ac_word$ac_exec_ext"; then
  439. +  if { test -f "$as_dir/$ac_word$ac_exec_ext" && $as_test_x "$as_dir/$ac_word$ac_exec_ext"; }; then
  440.      ac_cv_prog_MSGFMT="$ac_prog"
  441.      $as_echo "$as_me:${as_lineno-$LINENO}: found $as_dir/$ac_word$ac_exec_ext" >&5
  442.      break 2
  443. @@ -5536,8 +5519,6 @@ _ACEOF
  444.  esac
  445.  rm -rf conftest*
  446.    fi
  447. -
  448. -
  449.  fi
  450.  
  451.  
  452. @@ -5830,6 +5811,7 @@ for ac_header in \
  453.         arpa/inet.h \
  454.         arpa/nameser.h \
  455.         asm/types.h \
  456. +       attr/xattr.h \
  457.         capi20.h \
  458.         curses.h \
  459.         direct.h \
  460. @@ -6322,7 +6304,7 @@ do
  461.    IFS=$as_save_IFS
  462.    test -z "$as_dir" && as_dir=.
  463.      for ac_exec_ext in '' $ac_executable_extensions; do
  464. -  if as_fn_executable_p "$as_dir/$ac_word$ac_exec_ext"; then
  465. +  if { test -f "$as_dir/$ac_word$ac_exec_ext" && $as_test_x "$as_dir/$ac_word$ac_exec_ext"; }; then
  466.      ac_cv_path_LDD="$as_dir/$ac_word$ac_exec_ext"
  467.      $as_echo "$as_me:${as_lineno-$LINENO}: found $as_dir/$ac_word$ac_exec_ext" >&5
  468.      break 2
  469. @@ -6365,7 +6347,7 @@ do
  470.    IFS=$as_save_IFS
  471.    test -z "$as_dir" && as_dir=.
  472.      for ac_exec_ext in '' $ac_executable_extensions; do
  473. -  if as_fn_executable_p "$as_dir/$ac_word$ac_exec_ext"; then
  474. +  if { test -f "$as_dir/$ac_word$ac_exec_ext" && $as_test_x "$as_dir/$ac_word$ac_exec_ext"; }; then
  475.      ac_cv_prog_DLLTOOL="${ac_tool_prefix}dlltool"
  476.      $as_echo "$as_me:${as_lineno-$LINENO}: found $as_dir/$ac_word$ac_exec_ext" >&5
  477.      break 2
  478. @@ -6405,7 +6387,7 @@ do
  479.    IFS=$as_save_IFS
  480.    test -z "$as_dir" && as_dir=.
  481.      for ac_exec_ext in '' $ac_executable_extensions; do
  482. -  if as_fn_executable_p "$as_dir/$ac_word$ac_exec_ext"; then
  483. +  if { test -f "$as_dir/$ac_word$ac_exec_ext" && $as_test_x "$as_dir/$ac_word$ac_exec_ext"; }; then
  484.      ac_cv_prog_ac_ct_DLLTOOL="dlltool"
  485.      $as_echo "$as_me:${as_lineno-$LINENO}: found $as_dir/$ac_word$ac_exec_ext" >&5
  486.      break 2
  487. @@ -6457,7 +6439,7 @@ do
  488.    IFS=$as_save_IFS
  489.    test -z "$as_dir" && as_dir=.
  490.      for ac_exec_ext in '' $ac_executable_extensions; do
  491. -  if as_fn_executable_p "$as_dir/$ac_word$ac_exec_ext"; then
  492. +  if { test -f "$as_dir/$ac_word$ac_exec_ext" && $as_test_x "$as_dir/$ac_word$ac_exec_ext"; }; then
  493.      ac_cv_prog_DLLWRAP="${ac_tool_prefix}dllwrap"
  494.      $as_echo "$as_me:${as_lineno-$LINENO}: found $as_dir/$ac_word$ac_exec_ext" >&5
  495.      break 2
  496. @@ -6497,7 +6479,7 @@ do
  497.    IFS=$as_save_IFS
  498.    test -z "$as_dir" && as_dir=.
  499.      for ac_exec_ext in '' $ac_executable_extensions; do
  500. -  if as_fn_executable_p "$as_dir/$ac_word$ac_exec_ext"; then
  501. +  if { test -f "$as_dir/$ac_word$ac_exec_ext" && $as_test_x "$as_dir/$ac_word$ac_exec_ext"; }; then
  502.      ac_cv_prog_ac_ct_DLLWRAP="dllwrap"
  503.      $as_echo "$as_me:${as_lineno-$LINENO}: found $as_dir/$ac_word$ac_exec_ext" >&5
  504.      break 2
  505. @@ -6848,9 +6830,10 @@ if test $ac_cv_cflags__fPIC__shared__Wl_
  506.  fi
  507.  
  508.        echo '{ global: *; };' >conftest.map
  509. -      { $as_echo "$as_me:${as_lineno-$LINENO}: checking whether the compiler supports -fPIC -shared -Wl,--version-script=conftest.map" >&5
  510. +      as_ac_var=`$as_echo "ac_cv_cflags_-fPIC -shared -Wl,--version-script=conftest.map" | $as_tr_sh`
  511. +{ $as_echo "$as_me:${as_lineno-$LINENO}: checking whether the compiler supports -fPIC -shared -Wl,--version-script=conftest.map" >&5
  512.  $as_echo_n "checking whether the compiler supports -fPIC -shared -Wl,--version-script=conftest.map... " >&6; }
  513. -if ${ac_cv_cflags__fPIC__shared__Wl___version_script_conftest_map+:} false; then :
  514. +if eval \${$as_ac_var+:} false; then :
  515.    $as_echo_n "(cached) " >&6
  516.  else
  517.    ac_wine_try_cflags_saved=$CFLAGS
  518. @@ -6860,17 +6843,18 @@ cat confdefs.h - <<_ACEOF >conftest.$ac_
  519.  int main(int argc, char **argv) { return 0; }
  520.  _ACEOF
  521.  if ac_fn_c_try_link "$LINENO"; then :
  522. -  ac_cv_cflags__fPIC__shared__Wl___version_script_conftest_map=yes
  523. +  eval "$as_ac_var=yes"
  524.  else
  525. -  ac_cv_cflags__fPIC__shared__Wl___version_script_conftest_map=no
  526. +  eval "$as_ac_var=no"
  527.  fi
  528.  rm -f core conftest.err conftest.$ac_objext \
  529.      conftest$ac_exeext conftest.$ac_ext
  530.  CFLAGS=$ac_wine_try_cflags_saved
  531.  fi
  532. -{ $as_echo "$as_me:${as_lineno-$LINENO}: result: $ac_cv_cflags__fPIC__shared__Wl___version_script_conftest_map" >&5
  533. -$as_echo "$ac_cv_cflags__fPIC__shared__Wl___version_script_conftest_map" >&6; }
  534. -if test $ac_cv_cflags__fPIC__shared__Wl___version_script_conftest_map = yes; then :
  535. +eval ac_res=\$$as_ac_var
  536. +              { $as_echo "$as_me:${as_lineno-$LINENO}: result: $ac_res" >&5
  537. +$as_echo "$ac_res" >&6; }
  538. +if test `eval 'as_val=${'$as_ac_var'};$as_echo "$as_val"'` = yes; then :
  539.    LDSHARED="$LDSHARED \$(VERSCRIPT:%=-Wl,--version-script=%)"
  540.  fi
  541.        rm -f conftest.map
  542. @@ -6988,9 +6972,10 @@ fi
  543.  
  544.        case $host_cpu in
  545.          *i[3456789]86* | x86_64)
  546. -          { $as_echo "$as_me:${as_lineno-$LINENO}: checking whether the compiler supports -Wl,--section-start,.interp=0x7bf00400" >&5
  547. +          as_ac_var=`$as_echo "ac_cv_cflags_-Wl,--section-start,.interp=0x7bf00400" | $as_tr_sh`
  548. +{ $as_echo "$as_me:${as_lineno-$LINENO}: checking whether the compiler supports -Wl,--section-start,.interp=0x7bf00400" >&5
  549.  $as_echo_n "checking whether the compiler supports -Wl,--section-start,.interp=0x7bf00400... " >&6; }
  550. -if ${ac_cv_cflags__Wl___section_start__interp_0x7bf00400+:} false; then :
  551. +if eval \${$as_ac_var+:} false; then :
  552.    $as_echo_n "(cached) " >&6
  553.  else
  554.    ac_wine_try_cflags_saved=$CFLAGS
  555. @@ -7000,17 +6985,18 @@ cat confdefs.h - <<_ACEOF >conftest.$ac_
  556.  int main(int argc, char **argv) { return 0; }
  557.  _ACEOF
  558.  if ac_fn_c_try_link "$LINENO"; then :
  559. -  ac_cv_cflags__Wl___section_start__interp_0x7bf00400=yes
  560. +  eval "$as_ac_var=yes"
  561.  else
  562. -  ac_cv_cflags__Wl___section_start__interp_0x7bf00400=no
  563. +  eval "$as_ac_var=no"
  564.  fi
  565.  rm -f core conftest.err conftest.$ac_objext \
  566.      conftest$ac_exeext conftest.$ac_ext
  567.  CFLAGS=$ac_wine_try_cflags_saved
  568.  fi
  569. -{ $as_echo "$as_me:${as_lineno-$LINENO}: result: $ac_cv_cflags__Wl___section_start__interp_0x7bf00400" >&5
  570. -$as_echo "$ac_cv_cflags__Wl___section_start__interp_0x7bf00400" >&6; }
  571. -if test $ac_cv_cflags__Wl___section_start__interp_0x7bf00400 = yes; then :
  572. +eval ac_res=\$$as_ac_var
  573. +              { $as_echo "$as_me:${as_lineno-$LINENO}: result: $ac_res" >&5
  574. +$as_echo "$ac_res" >&6; }
  575. +if test `eval 'as_val=${'$as_ac_var'};$as_echo "$as_val"'` = yes; then :
  576.    case $host_os in
  577.                             freebsd* | kfreebsd*-gnu) LDEXECFLAGS="$LDEXECFLAGS -Wl,--section-start,.interp=0x60000400" ;;
  578.                             *) LDEXECFLAGS="$LDEXECFLAGS -Wl,--section-start,.interp=0x7bf00400" ;;
  579. @@ -7035,7 +7021,7 @@ do
  580.    IFS=$as_save_IFS
  581.    test -z "$as_dir" && as_dir=.
  582.      for ac_exec_ext in '' $ac_executable_extensions; do
  583. -  if as_fn_executable_p "$as_dir/$ac_word$ac_exec_ext"; then
  584. +  if { test -f "$as_dir/$ac_word$ac_exec_ext" && $as_test_x "$as_dir/$ac_word$ac_exec_ext"; }; then
  585.      ac_cv_path_PRELINK="$as_dir/$ac_word$ac_exec_ext"
  586.      $as_echo "$as_me:${as_lineno-$LINENO}: found $as_dir/$ac_word$ac_exec_ext" >&5
  587.      break 2
  588. @@ -7170,7 +7156,7 @@ do
  589.    IFS=$as_save_IFS
  590.    test -z "$as_dir" && as_dir=.
  591.      for ac_exec_ext in '' $ac_executable_extensions; do
  592. -  if as_fn_executable_p "$as_dir/$ac_word$ac_exec_ext"; then
  593. +  if { test -f "$as_dir/$ac_word$ac_exec_ext" && $as_test_x "$as_dir/$ac_word$ac_exec_ext"; }; then
  594.      ac_cv_prog_CROSSCC="$ac_prog"
  595.      $as_echo "$as_me:${as_lineno-$LINENO}: found $as_dir/$ac_word$ac_exec_ext" >&5
  596.      break 2
  597. @@ -9974,7 +9960,7 @@ do
  598.    IFS=$as_save_IFS
  599.    test -z "$as_dir" && as_dir=.
  600.      for ac_exec_ext in '' $ac_executable_extensions; do
  601. -  if as_fn_executable_p "$as_dir/$ac_word$ac_exec_ext"; then
  602. +  if { test -f "$as_dir/$ac_word$ac_exec_ext" && $as_test_x "$as_dir/$ac_word$ac_exec_ext"; }; then
  603.      ac_cv_prog_sane_devel="sane-config"
  604.      $as_echo "$as_me:${as_lineno-$LINENO}: found $as_dir/$ac_word$ac_exec_ext" >&5
  605.      break 2
  606. @@ -10150,7 +10136,7 @@ do
  607.    IFS=$as_save_IFS
  608.    test -z "$as_dir" && as_dir=.
  609.      for ac_exec_ext in '' $ac_executable_extensions; do
  610. -  if as_fn_executable_p "$as_dir/$ac_word$ac_exec_ext"; then
  611. +  if { test -f "$as_dir/$ac_word$ac_exec_ext" && $as_test_x "$as_dir/$ac_word$ac_exec_ext"; }; then
  612.      ac_cv_prog_gphoto2_devel="gphoto2-config"
  613.      $as_echo "$as_me:${as_lineno-$LINENO}: found $as_dir/$ac_word$ac_exec_ext" >&5
  614.      break 2
  615. @@ -10188,7 +10174,7 @@ do
  616.    IFS=$as_save_IFS
  617.    test -z "$as_dir" && as_dir=.
  618.      for ac_exec_ext in '' $ac_executable_extensions; do
  619. -  if as_fn_executable_p "$as_dir/$ac_word$ac_exec_ext"; then
  620. +  if { test -f "$as_dir/$ac_word$ac_exec_ext" && $as_test_x "$as_dir/$ac_word$ac_exec_ext"; }; then
  621.      ac_cv_prog_gphoto2port_devel="gphoto2-port-config"
  622.      $as_echo "$as_me:${as_lineno-$LINENO}: found $as_dir/$ac_word$ac_exec_ext" >&5
  623.      break 2
  624. @@ -10405,7 +10391,7 @@ do
  625.    IFS=$as_save_IFS
  626.    test -z "$as_dir" && as_dir=.
  627.      for ac_exec_ext in '' $ac_executable_extensions; do
  628. -  if as_fn_executable_p "$as_dir/$ac_word$ac_exec_ext"; then
  629. +  if { test -f "$as_dir/$ac_word$ac_exec_ext" && $as_test_x "$as_dir/$ac_word$ac_exec_ext"; }; then
  630.      ac_cv_prog_ft_devel="$ac_prog"
  631.      $as_echo "$as_me:${as_lineno-$LINENO}: found $as_dir/$ac_word$ac_exec_ext" >&5
  632.      break 2
  633. @@ -16529,16 +16515,16 @@ if (echo >conf$$.file) 2>/dev/null; then
  634.      # ... but there are two gotchas:
  635.      # 1) On MSYS, both `ln -s file dir' and `ln file dir' fail.
  636.      # 2) DJGPP < 2.04 has no symlinks; `ln -s' creates a wrapper executable.
  637. -    # In both cases, we have to default to `cp -pR'.
  638. +    # In both cases, we have to default to `cp -p'.
  639.      ln -s conf$$.file conf$$.dir 2>/dev/null && test ! -f conf$$.exe ||
  640. -      as_ln_s='cp -pR'
  641. +      as_ln_s='cp -p'
  642.    elif ln conf$$.file conf$$ 2>/dev/null; then
  643.      as_ln_s=ln
  644.    else
  645. -    as_ln_s='cp -pR'
  646. +    as_ln_s='cp -p'
  647.    fi
  648.  else
  649. -  as_ln_s='cp -pR'
  650. +  as_ln_s='cp -p'
  651.  fi
  652.  rm -f conf$$ conf$$.exe conf$$.dir/conf$$.file conf$$.file
  653.  rmdir conf$$.dir 2>/dev/null
  654. @@ -16598,16 +16584,28 @@ else
  655.    as_mkdir_p=false
  656.  fi
  657.  
  658. -
  659. -# as_fn_executable_p FILE
  660. -# -----------------------
  661. -# Test if FILE is an executable regular file.
  662. -as_fn_executable_p ()
  663. -{
  664. -  test -f "$1" && test -x "$1"
  665. -} # as_fn_executable_p
  666. -as_test_x='test -x'
  667. -as_executable_p=as_fn_executable_p
  668. +if test -x / >/dev/null 2>&1; then
  669. +  as_test_x='test -x'
  670. +else
  671. +  if ls -dL / >/dev/null 2>&1; then
  672. +    as_ls_L_option=L
  673. +  else
  674. +    as_ls_L_option=
  675. +  fi
  676. +  as_test_x='
  677. +    eval sh -c '\''
  678. +      if test -d "$1"; then
  679. +       test -d "$1/.";
  680. +      else
  681. +       case $1 in #(
  682. +       -*)set "./$1";;
  683. +       esac;
  684. +       case `ls -ld'$as_ls_L_option' "$1" 2>/dev/null` in #((
  685. +       ???[sx]*):;;*)false;;esac;fi
  686. +    '\'' sh
  687. +  '
  688. +fi
  689. +as_executable_p=$as_test_x
  690.  
  691.  # Sed expression to map a string onto a valid CPP name.
  692.  as_tr_cpp="eval sed 'y%*$as_cr_letters%P$as_cr_LETTERS%;s%[^_$as_cr_alnum]%_%g'"
  693. @@ -16792,7 +16790,7 @@ fi
  694.  _ACEOF
  695.  cat >>$CONFIG_STATUS <<_ACEOF || ac_write_fail=1
  696.  if \$ac_cs_recheck; then
  697. -  set X $SHELL '$0' $ac_configure_args \$ac_configure_extra_args --no-create --no-recursion
  698. +  set X '$SHELL' '$0' $ac_configure_args \$ac_configure_extra_args --no-create --no-recursion
  699.    shift
  700.    \$as_echo "running CONFIG_SHELL=$SHELL \$*" >&6
  701.    CONFIG_SHELL='$SHELL'
  702. diff -rupN wine-1.5.19/configure.ac wine-silverlight-1.5.19/configure.ac
  703. --- wine-1.5.19/configure.ac    2012-12-07 11:17:32.000000000 -0800
  704. +++ wine-silverlight-1.5.19/configure.ac        2012-12-20 18:16:39.102926747 -0800
  705. @@ -417,6 +417,7 @@ AC_CHECK_HEADERS(\
  706.         arpa/inet.h \
  707.         arpa/nameser.h \
  708.         asm/types.h \
  709. +       attr/xattr.h \
  710.         capi20.h \
  711.         curses.h \
  712.         direct.h \
  713. diff -rupN wine-1.5.19/dlls/advapi32/tests/security.c wine-silverlight-1.5.19/dlls/advapi32/tests/security.c
  714. --- wine-1.5.19/dlls/advapi32/tests/security.c  2012-12-07 11:17:32.000000000 -0800
  715. +++ wine-silverlight-1.5.19/dlls/advapi32/tests/security.c      2012-12-20 18:16:39.492900859 -0800
  716. @@ -3155,7 +3155,7 @@ static void test_GetNamedSecurityInfoA(v
  717.          bret = pGetAce(pDacl, 0, (VOID **)&ace);
  718.          ok(bret, "Failed to get Current User ACE.\n");
  719.          bret = EqualSid(&ace->SidStart, user_sid);
  720. -        todo_wine ok(bret, "Current User ACE != Current User SID.\n");
  721. +        ok(bret, "Current User ACE != Current User SID.\n");
  722.          ok(((ACE_HEADER *)ace)->AceFlags == 0,
  723.             "Current User ACE has unexpected flags (0x%x != 0x0)\n", ((ACE_HEADER *)ace)->AceFlags);
  724.          ok(ace->Mask == 0x1f01ff, "Current User ACE has unexpected mask (0x%x != 0x1f01ff)\n",
  725. @@ -3166,8 +3166,7 @@ static void test_GetNamedSecurityInfoA(v
  726.          bret = pGetAce(pDacl, 1, (VOID **)&ace);
  727.          ok(bret, "Failed to get Administators Group ACE.\n");
  728.          bret = EqualSid(&ace->SidStart, admin_sid);
  729. -        todo_wine ok(bret || broken(!bret) /* win2k */,
  730. -                     "Administators Group ACE != Administators Group SID.\n");
  731. +        ok(bret || broken(!bret) /* win2k */, "Administators Group ACE != Administators Group SID.\n");
  732.          ok(((ACE_HEADER *)ace)->AceFlags == 0,
  733.             "Administators Group ACE has unexpected flags (0x%x != 0x0)\n", ((ACE_HEADER *)ace)->AceFlags);
  734.          ok(ace->Mask == 0x1f01ff || broken(ace->Mask == GENERIC_ALL) /* win2k */,
  735. @@ -3748,7 +3747,7 @@ static void test_GetSecurityInfo(void)
  736.          bret = pGetAce(pDacl, 0, (VOID **)&ace);
  737.          ok(bret, "Failed to get Current User ACE.\n");
  738.          bret = EqualSid(&ace->SidStart, user_sid);
  739. -        todo_wine ok(bret, "Current User ACE != Current User SID.\n");
  740. +        ok(bret, "Current User ACE != Current User SID.\n");
  741.          ok(((ACE_HEADER *)ace)->AceFlags == 0,
  742.             "Current User ACE has unexpected flags (0x%x != 0x0)\n", ((ACE_HEADER *)ace)->AceFlags);
  743.          ok(ace->Mask == 0x1f01ff, "Current User ACE has unexpected mask (0x%x != 0x1f01ff)\n",
  744. @@ -3759,7 +3758,7 @@ static void test_GetSecurityInfo(void)
  745.          bret = pGetAce(pDacl, 1, (VOID **)&ace);
  746.          ok(bret, "Failed to get Administators Group ACE.\n");
  747.          bret = EqualSid(&ace->SidStart, admin_sid);
  748. -        todo_wine ok(bret, "Administators Group ACE != Administators Group SID.\n");
  749. +        ok(bret, "Administators Group ACE != Administators Group SID.\n");
  750.          ok(((ACE_HEADER *)ace)->AceFlags == 0,
  751.             "Administators Group ACE has unexpected flags (0x%x != 0x0)\n", ((ACE_HEADER *)ace)->AceFlags);
  752.          ok(ace->Mask == 0x1f01ff, "Administators Group ACE has unexpected mask (0x%x != 0x1f01ff)\n",
  753. diff -rupN wine-1.5.19/dlls/kernel32/tests/directory.c wine-silverlight-1.5.19/dlls/kernel32/tests/directory.c
  754. --- wine-1.5.19/dlls/kernel32/tests/directory.c 2012-12-07 11:17:32.000000000 -0800
  755. +++ wine-silverlight-1.5.19/dlls/kernel32/tests/directory.c     2012-12-20 18:16:39.286247866 -0800
  756. @@ -24,6 +24,15 @@
  757.  #include "windef.h"
  758.  #include "winbase.h"
  759.  #include "winerror.h"
  760. +#include "aclapi.h"
  761. +
  762. +static DWORD (WINAPI *pGetNamedSecurityInfoA)(LPSTR, SE_OBJECT_TYPE, SECURITY_INFORMATION,
  763. +                                              PSID*, PSID*, PACL*, PACL*,
  764. +                                              PSECURITY_DESCRIPTOR*);
  765. +static BOOL (WINAPI *pGetAclInformation)(PACL,LPVOID,DWORD,ACL_INFORMATION_CLASS);
  766. +static BOOL (WINAPI *pCreateWellKnownSid)(WELL_KNOWN_SID_TYPE,PSID,PSID,DWORD*);
  767. +static BOOL (WINAPI *pAddAccessAllowedAceEx)(PACL, DWORD, DWORD, DWORD, PSID);
  768. +static BOOL (WINAPI *pGetAce)(PACL,DWORD,LPVOID*);
  769.  
  770.  /* If you change something in these tests, please do the same
  771.   * for GetSystemDirectory tests.
  772. @@ -486,8 +495,166 @@ static void test_SetCurrentDirectoryA(vo
  773.      ok( GetLastError() == ERROR_PATH_NOT_FOUND, "wrong error %d\n", GetLastError() );
  774.  }
  775.  
  776. +static void test_security_attributes(void)
  777. +{
  778. +    char admin_ptr[sizeof(SID)+sizeof(ULONG)*SID_MAX_SUB_AUTHORITIES], dacl[100], *user;
  779. +    DWORD sid_size = sizeof(admin_ptr), user_size;
  780. +    PSID admin_sid = (PSID) admin_ptr, user_sid;
  781. +    char sd[SECURITY_DESCRIPTOR_MIN_LENGTH];
  782. +    PSECURITY_DESCRIPTOR pSD = &sd;
  783. +    ACL_SIZE_INFORMATION acl_size;
  784. +    PACL pDacl = (PACL) &dacl;
  785. +    ACCESS_ALLOWED_ACE *ace;
  786. +    SECURITY_ATTRIBUTES sa;
  787. +    char tmpfile[MAX_PATH];
  788. +    char tmpdir[MAX_PATH];
  789. +    HANDLE token, hTemp;
  790. +    struct _SID *owner;
  791. +    BOOL bret = TRUE;
  792. +    DWORD error;
  793. +
  794. +    if (!pGetNamedSecurityInfoA || !pCreateWellKnownSid)
  795. +    {
  796. +        win_skip("Required functions are not available\n");
  797. +        return;
  798. +    }
  799. +
  800. +    if (!OpenThreadToken(GetCurrentThread(), TOKEN_READ, TRUE, &token))
  801. +    {
  802. +        if (GetLastError() != ERROR_NO_TOKEN) bret = FALSE;
  803. +        else if (!OpenProcessToken(GetCurrentProcess(), TOKEN_READ, &token)) bret = FALSE;
  804. +    }
  805. +    if (!bret)
  806. +    {
  807. +        win_skip("Failed to get current user token\n");
  808. +        return;
  809. +    }
  810. +    bret = GetTokenInformation(token, TokenUser, NULL, 0, &user_size);
  811. +    ok(!bret && (GetLastError() == ERROR_INSUFFICIENT_BUFFER),
  812. +        "GetTokenInformation(TokenUser) failed with error %d\n", GetLastError());
  813. +    user = HeapAlloc(GetProcessHeap(), 0, user_size);
  814. +    bret = GetTokenInformation(token, TokenUser, user, user_size, &user_size);
  815. +    ok(bret, "GetTokenInformation(TokenUser) failed with error %d\n", GetLastError());
  816. +    CloseHandle( token );
  817. +    user_sid = ((TOKEN_USER *)user)->User.Sid;
  818. +
  819. +    sa.nLength = sizeof(sa);
  820. +    sa.lpSecurityDescriptor = pSD;
  821. +    sa.bInheritHandle = TRUE;
  822. +    InitializeSecurityDescriptor(pSD, SECURITY_DESCRIPTOR_REVISION);
  823. +    pCreateWellKnownSid(WinBuiltinAdministratorsSid, NULL, admin_sid, &sid_size);
  824. +    bret = InitializeAcl(pDacl, sizeof(dacl), ACL_REVISION);
  825. +    ok(bret, "Failed to initialize ACL.\n");
  826. +    bret = pAddAccessAllowedAceEx(pDacl, ACL_REVISION, OBJECT_INHERIT_ACE|CONTAINER_INHERIT_ACE,
  827. +                                  GENERIC_ALL, user_sid);
  828. +    ok(bret, "Failed to add Current User to ACL.\n");
  829. +    bret = pAddAccessAllowedAceEx(pDacl, ACL_REVISION, OBJECT_INHERIT_ACE|CONTAINER_INHERIT_ACE,
  830. +                                  GENERIC_ALL, admin_sid);
  831. +    ok(bret, "Failed to add Administrator Group to ACL.\n");
  832. +    bret = SetSecurityDescriptorDacl(pSD, TRUE, pDacl, FALSE);
  833. +    ok(bret, "Failed to add ACL to security desciptor.\n");
  834. +
  835. +    GetTempPathA(MAX_PATH, tmpdir);
  836. +    lstrcatA(tmpdir, "Please Remove Me");
  837. +    bret = CreateDirectoryA(tmpdir, &sa);
  838. +    ok(bret == TRUE, "CreateDirectoryA(%s) failed err=%d\n", tmpdir, GetLastError());
  839. +
  840. +    SetLastError(0xdeadbeef);
  841. +    error = pGetNamedSecurityInfoA(tmpdir, SE_FILE_OBJECT,
  842. +                                   OWNER_SECURITY_INFORMATION|DACL_SECURITY_INFORMATION, (PSID*)&owner,
  843. +                                   NULL, &pDacl, NULL, &pSD);
  844. +    if (error != ERROR_SUCCESS && (GetLastError() == ERROR_CALL_NOT_IMPLEMENTED))
  845. +    {
  846. +        win_skip("GetNamedSecurityInfoA is not implemented\n");
  847. +        goto done;
  848. +    }
  849. +    ok(!error, "GetNamedSecurityInfo failed with error %d\n", error);
  850. +
  851. +    bret = pGetAclInformation(pDacl, &acl_size, sizeof(acl_size), AclSizeInformation);
  852. +    ok(bret, "GetAclInformation failed\n");
  853. +    ok(acl_size.AceCount == 2, "GetAclInformation returned unexpected entry count (%d != 2).\n",
  854. +                               acl_size.AceCount);
  855. +    if (acl_size.AceCount > 0)
  856. +    {
  857. +        bret = pGetAce(pDacl, 0, (VOID **)&ace);
  858. +        ok(bret, "Failed to get Current User ACE.\n");
  859. +        bret = EqualSid(&ace->SidStart, user_sid);
  860. +        ok(bret, "Current User ACE != Current User SID.\n");
  861. +        ok(((ACE_HEADER *)ace)->AceFlags == (OBJECT_INHERIT_ACE|CONTAINER_INHERIT_ACE),
  862. +           "Current User ACE has unexpected flags (0x%x != 0x03)\n", ((ACE_HEADER *)ace)->AceFlags);
  863. +        ok(ace->Mask == 0x1f01ff, "Current User ACE has unexpected mask (0x%x != 0x1f01ff)\n",
  864. +                                  ace->Mask);
  865. +    }
  866. +    if (acl_size.AceCount > 1)
  867. +    {
  868. +        bret = pGetAce(pDacl, 1, (VOID **)&ace);
  869. +        ok(bret, "Failed to get Administators Group ACE.\n");
  870. +        bret = EqualSid(&ace->SidStart, admin_sid);
  871. +        ok(bret, "Administators Group ACE != Administators Group SID.\n");
  872. +        ok(((ACE_HEADER *)ace)->AceFlags == (OBJECT_INHERIT_ACE|CONTAINER_INHERIT_ACE),
  873. +           "Administators Group ACE has unexpected flags (0x%x != 0x03)\n", ((ACE_HEADER *)ace)->AceFlags);
  874. +        ok(ace->Mask == 0x1f01ff, "Administators Group ACE has unexpected mask (0x%x != 0x1f01ff)\n",
  875. +                                  ace->Mask);
  876. +    }
  877. +
  878. +    /* Test inheritance of ACLs */
  879. +    strcpy(tmpfile, tmpdir);
  880. +    lstrcatA(tmpfile, "/tmpfile");
  881. +    hTemp = CreateFileA(tmpfile, GENERIC_WRITE, FILE_SHARE_READ, NULL, CREATE_NEW,
  882. +                        FILE_FLAG_DELETE_ON_CLOSE, NULL);
  883. +    error = pGetNamedSecurityInfoA(tmpfile, SE_FILE_OBJECT,
  884. +                                   OWNER_SECURITY_INFORMATION|DACL_SECURITY_INFORMATION, (PSID*)&owner,
  885. +                                   NULL, &pDacl, NULL, &pSD);
  886. +    ok(error == ERROR_SUCCESS, "Failed to get permissions on file.\n");
  887. +    bret = pGetAclInformation(pDacl, &acl_size, sizeof(acl_size), AclSizeInformation);
  888. +    ok(bret, "GetAclInformation failed\n");
  889. +    ok(acl_size.AceCount == 2, "GetAclInformation returned unexpected entry count (%d != 2).\n",
  890. +                               acl_size.AceCount);
  891. +    if (acl_size.AceCount > 0)
  892. +    {
  893. +        bret = pGetAce(pDacl, 0, (VOID **)&ace);
  894. +        ok(bret, "Inherited Failed to get Current User ACE.\n");
  895. +        bret = EqualSid(&ace->SidStart, user_sid);
  896. +        ok(bret, "Inherited Current User ACE != Current User SID.\n");
  897. +        ok(((ACE_HEADER *)ace)->AceFlags == INHERITED_ACE,
  898. +           "Inherited Current User ACE has unexpected flags (0x%x != 0x10)\n", ((ACE_HEADER *)ace)->AceFlags);
  899. +        ok(ace->Mask == 0x1f01ff, "Current User ACE has unexpected mask (0x%x != 0x1f01ff)\n",
  900. +                                  ace->Mask);
  901. +    }
  902. +    if (acl_size.AceCount > 1)
  903. +    {
  904. +        bret = pGetAce(pDacl, 1, (VOID **)&ace);
  905. +        ok(bret, "Inherited Failed to get Administators Group ACE.\n");
  906. +        bret = EqualSid(&ace->SidStart, admin_sid);
  907. +        ok(bret, "Inherited Administators Group ACE != Administators Group SID.\n");
  908. +        ok(((ACE_HEADER *)ace)->AceFlags == INHERITED_ACE,
  909. +           "Inherited Administators Group ACE has unexpected flags (0x%x != 0x10)\n", ((ACE_HEADER *)ace)->AceFlags);
  910. +        ok(ace->Mask == 0x1f01ff, "Administators Group ACE has unexpected mask (0x%x != 0x1f01ff)\n",
  911. +                                  ace->Mask);
  912. +    }
  913. +    CloseHandle(hTemp);
  914. +
  915. +done:
  916. +    HeapFree(GetProcessHeap(), 0, user);
  917. +    bret = RemoveDirectoryA(tmpdir);
  918. +    ok(bret == TRUE, "RemoveDirectoryA should always succeed\n");
  919. +}
  920. +
  921. +void init(void)
  922. +{
  923. +    HMODULE hmod = GetModuleHandle("advapi32.dll");
  924. +
  925. +    pGetNamedSecurityInfoA = (void *)GetProcAddress(hmod, "GetNamedSecurityInfoA");
  926. +    pAddAccessAllowedAceEx = (void *)GetProcAddress(hmod, "AddAccessAllowedAceEx");
  927. +    pCreateWellKnownSid = (void *)GetProcAddress(hmod, "CreateWellKnownSid");
  928. +    pGetAclInformation = (void *)GetProcAddress(hmod, "GetAclInformation");
  929. +    pGetAce = (void *)GetProcAddress(hmod, "GetAce");
  930. +}
  931. +
  932.  START_TEST(directory)
  933.  {
  934. +    init();
  935. +
  936.      test_GetWindowsDirectoryA();
  937.      test_GetWindowsDirectoryW();
  938.  
  939. @@ -501,4 +668,6 @@ START_TEST(directory)
  940.      test_RemoveDirectoryW();
  941.  
  942.      test_SetCurrentDirectoryA();
  943. +
  944. +    test_security_attributes();
  945.  }
  946. diff -rupN wine-1.5.19/dlls/Makefile wine-silverlight-1.5.19/dlls/Makefile
  947. --- wine-1.5.19/dlls/Makefile   1969-12-31 16:00:00.000000000 -0800
  948. +++ wine-silverlight-1.5.19/dlls/Makefile       2012-12-20 18:16:39.386241250 -0800
  949. @@ -0,0 +1,1620 @@
  950. +# Automatically generated by make_makefiles; DO NOT EDIT!!
  951. +
  952. +TOPSRCDIR = ..
  953. +TOPOBJDIR = ..
  954. +SRCDIR    = .
  955. +
  956. +
  957. +INSTALLDIRS = $(DESTDIR)$(dlldir)
  958. +
  959. +DLLSUBDIRS     =  \
  960. +       acledit \
  961. +       aclui \
  962. +       activeds \
  963. +       actxprxy \
  964. +       advapi32 \
  965. +       advpack \
  966. +       amstream \
  967. +       appwiz.cpl \
  968. +       atl \
  969. +       authz \
  970. +       avicap32 \
  971. +       avifil32 \
  972. +       avifile.dll16 \
  973. +       avrt \
  974. +       bcrypt \
  975. +       browseui \
  976. +       cabinet \
  977. +       capi2032 \
  978. +       cards \
  979. +       cfgmgr32 \
  980. +       clusapi \
  981. +       comcat \
  982. +       comctl32 \
  983. +       comdlg32 \
  984. +       comm.drv16 \
  985. +       commdlg.dll16 \
  986. +       compobj.dll16 \
  987. +       compstui \
  988. +       credui \
  989. +       crtdll \
  990. +       crypt32 \
  991. +       cryptdlg \
  992. +       cryptdll \
  993. +       cryptnet \
  994. +       cryptui \
  995. +       ctapi32 \
  996. +       ctl3d.dll16 \
  997. +       ctl3d32 \
  998. +       ctl3dv2.dll16 \
  999. +       d3d10 \
  1000. +       d3d10core \
  1001. +       d3d8 \
  1002. +       d3d9 \
  1003. +       d3dim \
  1004. +       d3drm \
  1005. +       d3dx9_24 \
  1006. +       d3dx9_25 \
  1007. +       d3dx9_26 \
  1008. +       d3dx9_27 \
  1009. +       d3dx9_28 \
  1010. +       d3dx9_29 \
  1011. +       d3dx9_30 \
  1012. +       d3dx9_31 \
  1013. +       d3dx9_32 \
  1014. +       d3dx9_33 \
  1015. +       d3dx9_34 \
  1016. +       d3dx9_35 \
  1017. +       d3dx9_36 \
  1018. +       d3dx9_37 \
  1019. +       d3dx9_38 \
  1020. +       d3dx9_39 \
  1021. +       d3dx9_40 \
  1022. +       d3dx9_41 \
  1023. +       d3dx9_42 \
  1024. +       d3dxof \
  1025. +       dbghelp \
  1026. +       dciman32 \
  1027. +       ddeml.dll16 \
  1028. +       ddraw \
  1029. +       ddrawex \
  1030. +       devenum \
  1031. +       dinput \
  1032. +       dinput8 \
  1033. +       dispdib.dll16 \
  1034. +       display.drv16 \
  1035. +       dmband \
  1036. +       dmcompos \
  1037. +       dmime \
  1038. +       dmloader \
  1039. +       dmscript \
  1040. +       dmstyle \
  1041. +       dmsynth \
  1042. +       dmusic \
  1043. +       dmusic32 \
  1044. +       dnsapi \
  1045. +       dplay \
  1046. +       dplayx \
  1047. +       dpnaddr \
  1048. +       dpnet \
  1049. +       dpnhpast \
  1050. +       dpnlobby \
  1051. +       dpwsockx \
  1052. +       drmclien \
  1053. +       dsound \
  1054. +       dssenh \
  1055. +       dswave \
  1056. +       dwmapi \
  1057. +       dxdiagn \
  1058. +       dxgi \
  1059. +       faultrep \
  1060. +       fltlib \
  1061. +       fusion \
  1062. +       fwpuclnt \
  1063. +       gdi.exe16 \
  1064. +       gdi32 \
  1065. +       gdiplus \
  1066. +       glu32 \
  1067. +       gphoto2.ds \
  1068. +       gpkcsp \
  1069. +       hal \
  1070. +       hhctrl.ocx \
  1071. +       hid \
  1072. +       hlink \
  1073. +       hnetcfg \
  1074. +       httpapi \
  1075. +       iccvid \
  1076. +       icmp \
  1077. +       ifsmgr.vxd \
  1078. +       imaadp32.acm \
  1079. +       imagehlp \
  1080. +       imm.dll16 \
  1081. +       imm32 \
  1082. +       inetcomm \
  1083. +       inetmib1 \
  1084. +       infosoft \
  1085. +       initpki \
  1086. +       inkobj \
  1087. +       inseng \
  1088. +       iphlpapi \
  1089. +       itircl \
  1090. +       itss \
  1091. +       jscript \
  1092. +       kernel32 \
  1093. +       keyboard.drv16 \
  1094. +       loadperf \
  1095. +       localspl \
  1096. +       localui \
  1097. +       lz32 \
  1098. +       lzexpand.dll16 \
  1099. +       mapi32 \
  1100. +       mciavi32 \
  1101. +       mcicda \
  1102. +       mciqtz32 \
  1103. +       mciseq \
  1104. +       mciwave \
  1105. +       midimap \
  1106. +       mlang \
  1107. +       mmdevapi \
  1108. +       mmdevldr.vxd \
  1109. +       mmsystem.dll16 \
  1110. +       monodebg.vxd \
  1111. +       mountmgr.sys \
  1112. +       mouse.drv16 \
  1113. +       mpr \
  1114. +       mprapi \
  1115. +       msacm.dll16 \
  1116. +       msacm32.drv \
  1117. +       msacm32 \
  1118. +       msadp32.acm \
  1119. +       mscat32 \
  1120. +       mscms \
  1121. +       mscoree \
  1122. +       msctf \
  1123. +       msdaps \
  1124. +       msdmo \
  1125. +       msftedit \
  1126. +       msg711.acm \
  1127. +       msgsm32.acm \
  1128. +       mshtml.tlb \
  1129. +       mshtml \
  1130. +       msi \
  1131. +       msimg32 \
  1132. +       msimtf \
  1133. +       msisip \
  1134. +       msisys.ocx \
  1135. +       msnet32 \
  1136. +       msrle32 \
  1137. +       mssign32 \
  1138. +       mssip32 \
  1139. +       mstask \
  1140. +       msvcirt \
  1141. +       msvcr71 \
  1142. +       msvcrt \
  1143. +       msvcrt20 \
  1144. +       msvcrt40 \
  1145. +       msvcrtd \
  1146. +       msvfw32 \
  1147. +       msvidc32 \
  1148. +       msvideo.dll16 \
  1149. +       mswsock \
  1150. +       msxml3 \
  1151. +       nddeapi \
  1152. +       netapi32 \
  1153. +       newdev \
  1154. +       ntdll \
  1155. +       ntdsapi \
  1156. +       ntoskrnl.exe \
  1157. +       ntprint \
  1158. +       objsel \
  1159. +       odbc32 \
  1160. +       odbccp32 \
  1161. +       ole2.dll16 \
  1162. +       ole2conv.dll16 \
  1163. +       ole2disp.dll16 \
  1164. +       ole2nls.dll16 \
  1165. +       ole2prox.dll16 \
  1166. +       ole2thk.dll16 \
  1167. +       ole32 \
  1168. +       oleacc \
  1169. +       oleaut32 \
  1170. +       olecli.dll16 \
  1171. +       olecli32 \
  1172. +       oledb32 \
  1173. +       oledlg \
  1174. +       olepro32 \
  1175. +       olesvr.dll16 \
  1176. +       olesvr32 \
  1177. +       olethk32 \
  1178. +       openal32 \
  1179. +       opengl32 \
  1180. +       pdh \
  1181. +       pidgen \
  1182. +       powrprof \
  1183. +       printui \
  1184. +       propsys \
  1185. +       psapi \
  1186. +       pstorec \
  1187. +       qcap \
  1188. +       qedit \
  1189. +       qmgr \
  1190. +       qmgrprxy \
  1191. +       quartz \
  1192. +       query \
  1193. +       rasapi16.dll16 \
  1194. +       rasapi32 \
  1195. +       rasdlg \
  1196. +       resutils \
  1197. +       riched20 \
  1198. +       riched32 \
  1199. +       rpcrt4 \
  1200. +       rsabase \
  1201. +       rsaenh \
  1202. +       rtutils \
  1203. +       sane.ds \
  1204. +       sccbase \
  1205. +       schannel \
  1206. +       secur32 \
  1207. +       security \
  1208. +       sensapi \
  1209. +       serialui \
  1210. +       setupapi \
  1211. +       setupx.dll16 \
  1212. +       sfc \
  1213. +       sfc_os \
  1214. +       shdoclc \
  1215. +       shdocvw \
  1216. +       shell.dll16 \
  1217. +       shell32 \
  1218. +       shfolder \
  1219. +       shlwapi \
  1220. +       slbcsp \
  1221. +       slc \
  1222. +       snmpapi \
  1223. +       softpub \
  1224. +       sound.drv16 \
  1225. +       spoolss \
  1226. +       stdole2.tlb \
  1227. +       stdole32.tlb \
  1228. +       sti \
  1229. +       storage.dll16 \
  1230. +       stress.dll16 \
  1231. +       svrapi \
  1232. +       sxs \
  1233. +       system.drv16 \
  1234. +       t2embed \
  1235. +       tapi32 \
  1236. +       toolhelp.dll16 \
  1237. +       traffic \
  1238. +       twain.dll16 \
  1239. +       twain_32 \
  1240. +       typelib.dll16 \
  1241. +       unicows \
  1242. +       updspapi \
  1243. +       url \
  1244. +       urlmon \
  1245. +       user32 \
  1246. +       userenv \
  1247. +       usp10 \
  1248. +       uxtheme \
  1249. +       vdhcp.vxd \
  1250. +       vdmdbg \
  1251. +       ver.dll16 \
  1252. +       version \
  1253. +       vmm.vxd \
  1254. +       vnbt.vxd \
  1255. +       vnetbios.vxd \
  1256. +       vtdapi.vxd \
  1257. +       vwin32.vxd \
  1258. +       w32skrnl \
  1259. +       w32sys.dll16 \
  1260. +       wbemprox \
  1261. +       wiaservc \
  1262. +       win32s16.dll16 \
  1263. +       win87em.dll16 \
  1264. +       winaspi.dll16 \
  1265. +       windebug.dll16 \
  1266. +       windowscodecs \
  1267. +       winealsa.drv \
  1268. +       wineaudioio.drv \
  1269. +       winecoreaudio.drv \
  1270. +       wined3d \
  1271. +       winedos \
  1272. +       wineesd.drv \
  1273. +       winejack.drv \
  1274. +       winejoystick.drv \
  1275. +       winemapi \
  1276. +       winemp3.acm \
  1277. +       winenas.drv \
  1278. +       wineoss.drv \
  1279. +       wineps.drv \
  1280. +       wineps16.drv16 \
  1281. +       winex11.drv \
  1282. +       wing.dll16 \
  1283. +       wing32 \
  1284. +       winhttp \
  1285. +       wininet \
  1286. +       winmm \
  1287. +       winnls.dll16 \
  1288. +       winnls32 \
  1289. +       winscard \
  1290. +       winsock.dll16 \
  1291. +       winspool.drv \
  1292. +       wintab.dll16 \
  1293. +       wintab32 \
  1294. +       wintrust \
  1295. +       wldap32 \
  1296. +       wmi \
  1297. +       wmiutils \
  1298. +       wnaspi32 \
  1299. +       wow32 \
  1300. +       ws2_32 \
  1301. +       wsock32 \
  1302. +       wtsapi32 \
  1303. +       wuapi \
  1304. +       wuaueng \
  1305. +       xinput1_1 \
  1306. +       xinput1_2 \
  1307. +       xinput1_3 \
  1308. +       xinput9_1_0 \
  1309. +       xmllite
  1310. +IMPLIBSUBDIRS  =  \
  1311. +       adsiid \
  1312. +       dxerr8 \
  1313. +       dxerr9 \
  1314. +       dxguid \
  1315. +       strmiids \
  1316. +       uuid \
  1317. +       winecrt0
  1318. +TESTSUBDIRS    =  \
  1319. +       advapi32/tests \
  1320. +       advpack/tests \
  1321. +       amstream/tests \
  1322. +       browseui/tests \
  1323. +       cabinet/tests \
  1324. +       comcat/tests \
  1325. +       comctl32/tests \
  1326. +       comdlg32/tests \
  1327. +       credui/tests \
  1328. +       crypt32/tests \
  1329. +       cryptnet/tests \
  1330. +       cryptui/tests \
  1331. +       d3d10/tests \
  1332. +       d3d10core/tests \
  1333. +       d3d8/tests \
  1334. +       d3d9/tests \
  1335. +       d3drm/tests \
  1336. +       d3dx9_36/tests \
  1337. +       d3dxof/tests \
  1338. +       ddraw/tests \
  1339. +       ddrawex/tests \
  1340. +       dinput/tests \
  1341. +       dnsapi/tests \
  1342. +       dplayx/tests \
  1343. +       dsound/tests \
  1344. +       dxgi/tests \
  1345. +       fusion/tests \
  1346. +       gdi32/tests \
  1347. +       gdiplus/tests \
  1348. +       hlink/tests \
  1349. +       imagehlp/tests \
  1350. +       imm32/tests \
  1351. +       inetcomm/tests \
  1352. +       inetmib1/tests \
  1353. +       infosoft/tests \
  1354. +       iphlpapi/tests \
  1355. +       itss/tests \
  1356. +       jscript/tests \
  1357. +       kernel32/tests \
  1358. +       localspl/tests \
  1359. +       localui/tests \
  1360. +       lz32/tests \
  1361. +       mapi32/tests \
  1362. +       mlang/tests \
  1363. +       mmdevapi/tests \
  1364. +       msacm32/tests \
  1365. +       mscms/tests \
  1366. +       msctf/tests \
  1367. +       mshtml/tests \
  1368. +       msi/tests \
  1369. +       mstask/tests \
  1370. +       msvcrt/tests \
  1371. +       msvcrtd/tests \
  1372. +       msvfw32/tests \
  1373. +       msxml3/tests \
  1374. +       netapi32/tests \
  1375. +       ntdll/tests \
  1376. +       ntdsapi/tests \
  1377. +       ntprint/tests \
  1378. +       odbccp32/tests \
  1379. +       ole32/tests \
  1380. +       oleacc/tests \
  1381. +       oleaut32/tests \
  1382. +       oledb32/tests \
  1383. +       opengl32/tests \
  1384. +       pdh/tests \
  1385. +       psapi/tests \
  1386. +       qedit/tests \
  1387. +       qmgr/tests \
  1388. +       quartz/tests \
  1389. +       rasapi32/tests \
  1390. +       riched20/tests \
  1391. +       riched32/tests \
  1392. +       rpcrt4/tests \
  1393. +       rsaenh/tests \
  1394. +       schannel/tests \
  1395. +       secur32/tests \
  1396. +       serialui/tests \
  1397. +       setupapi/tests \
  1398. +       shdocvw/tests \
  1399. +       shell32/tests \
  1400. +       shlwapi/tests \
  1401. +       snmpapi/tests \
  1402. +       spoolss/tests \
  1403. +       sti/tests \
  1404. +       twain_32/tests \
  1405. +       urlmon/tests \
  1406. +       user32/tests \
  1407. +       userenv/tests \
  1408. +       usp10/tests \
  1409. +       uxtheme/tests \
  1410. +       version/tests \
  1411. +       windowscodecs/tests \
  1412. +       winhttp/tests \
  1413. +       wininet/tests \
  1414. +       winmm/tests \
  1415. +       winspool.drv/tests \
  1416. +       wintab32/tests \
  1417. +       wintrust/tests \
  1418. +       wldap32/tests \
  1419. +       ws2_32/tests \
  1420. +       xinput1_3/tests
  1421. +SUBDIRS        = $(DLLSUBDIRS) $(IMPLIBSUBDIRS) $(TESTSUBDIRS)
  1422. +BUILDSUBDIRS   = $(DLLSUBDIRS) $(TESTSUBDIRS)
  1423. +INSTALLSUBDIRS = $(DLLSUBDIRS) $(IMPLIBSUBDIRS)
  1424. +DOCSUBDIRS     = $(DLLSUBDIRS)
  1425. +
  1426. +# 16-bit dlls
  1427. +
  1428. +WIN16_FILES = \
  1429. +       krnl386.exe16 \
  1430. +       user.exe16 \
  1431. +       wprocs.dll16
  1432. +
  1433. +# Global rules shared by all makefiles     -*-Makefile-*-
  1434. +#
  1435. +# Each individual makefile must define the following variables:
  1436. +# TOPSRCDIR    : top-level source directory
  1437. +# TOPOBJDIR    : top-level object directory
  1438. +# SRCDIR       : source directory for this module
  1439. +# MODULE       : name of the module being built
  1440. +#
  1441. +# Each individual makefile may define the following additional variables:
  1442. +# C_SRCS       : C sources for the module
  1443. +# C_SRCS16     : 16-bit C sources for the module
  1444. +# RC_SRCS      : resource source files
  1445. +# EXTRA_SRCS   : extra source files for make depend
  1446. +# EXTRA_OBJS   : extra object files
  1447. +# IMPORTS      : dlls to import
  1448. +# DELAYIMPORTS : dlls to import in delayed mode
  1449. +# SUBDIRS      : subdirectories that contain a Makefile
  1450. +# EXTRASUBDIRS : subdirectories that do not contain a Makefile
  1451. +# INSTALLSUBDIRS : subdirectories to run make install/uninstall into
  1452. +# MODCFLAGS    : extra CFLAGS for this module
  1453. +
  1454. +# First some useful definitions
  1455. +
  1456. +SHELL     = /bin/sh
  1457. +CC        = ccache gcc -m32
  1458. +CFLAGS    = -g -O2
  1459. +CPPFLAGS  =
  1460. +LIBS      =
  1461. +BISON     = bison
  1462. +FLEX      = flex
  1463. +EXEEXT    =
  1464. +OBJEXT    = o
  1465. +LIBEXT    = so
  1466. +DLLEXT    = .so
  1467. +TOOLSEXT  =
  1468. +IMPLIBEXT = def
  1469. +LDSHARED  = $(CC) -shared $(SONAME:%=-Wl,-soname,%) $(VERSCRIPT:%=-Wl,--version-script=%)
  1470. +DLLTOOL   = i586-mingw32msvc-dlltool
  1471. +DLLWRAP   =
  1472. +AR        = ar
  1473. +ARFLAGS   = rc
  1474. +RANLIB    = ranlib
  1475. +STRIP     = strip
  1476. +LN        = ln
  1477. +LN_S      = ln -s
  1478. +TOOLSDIR  = $(TOPOBJDIR)
  1479. +LDFLAGS   =
  1480. +PRELINK   = /usr/sbin/prelink
  1481. +RM        = rm -f
  1482. +MV        = mv
  1483. +LINT      =
  1484. +LINTFLAGS =
  1485. +FONTFORGE = fontforge
  1486. +RSVG      = false
  1487. +ICOTOOL   = icotool
  1488. +FAKEEXT   = $(DLLEXT:.so=.fake)
  1489. +INCLUDES     = -I$(SRCDIR) -I. -I$(TOPSRCDIR)/include -I$(TOPOBJDIR)/include $(EXTRAINCL)
  1490. +EXTRACFLAGS  = -Wall -pipe -fno-strict-aliasing -Wdeclaration-after-statement -Wstrict-prototypes -Wwrite-strings -Wtype-limits -Wpointer-arith
  1491. +ALLCFLAGS    = $(INCLUDES) $(DEFS) $(DLLFLAGS) $(EXTRACFLAGS) $(CPPFLAGS) $(CFLAGS) $(MODCFLAGS)
  1492. +ALLLINTFLAGS = $(INCLUDES) $(DEFS) $(LINTFLAGS)
  1493. +IDLFLAGS     = $(INCLUDES) $(DEFS) $(EXTRAIDLFLAGS)
  1494. +TARGETFLAGS  = -m32
  1495. +WINEBUILDFLAGS = $(TARGETFLAGS) $(DLLFLAGS)
  1496. +MKINSTALLDIRS= $(TOPSRCDIR)/tools/mkinstalldirs -m 755
  1497. +WINAPI_CHECK = $(TOPSRCDIR)/tools/winapi/winapi_check
  1498. +WINEWRAPPER  = $(TOPSRCDIR)/tools/winewrapper
  1499. +C2MAN        = $(TOPSRCDIR)/tools/c2man.pl
  1500. +RUNTEST      = $(TOPSRCDIR)/tools/runtest
  1501. +WINEBUILD    = $(TOOLSDIR)/tools/winebuild/winebuild$(TOOLSEXT)
  1502. +MAKEDEP      = $(TOOLSDIR)/tools/makedep$(TOOLSEXT)
  1503. +MAKECTESTS   = $(TOOLSDIR)/tools/make_ctests$(TOOLSEXT)
  1504. +WRC          = $(TOOLSDIR)/tools/wrc/wrc$(TOOLSEXT)
  1505. +WMC          = $(TOOLSDIR)/tools/wmc/wmc$(TOOLSEXT)
  1506. +WIDL         = $(TOOLSDIR)/tools/widl/widl$(TOOLSEXT)
  1507. +WINEGCC      = $(TOOLSDIR)/tools/winegcc/winegcc $(TARGETFLAGS) -B$(TOOLSDIR)/tools/winebuild --sysroot=$(TOPOBJDIR)
  1508. +RELPATH      = $(TOOLSDIR)/tools/relpath$(TOOLSEXT)
  1509. +SFNT2FNT     = $(TOOLSDIR)/tools/sfnt2fnt$(TOOLSEXT)
  1510. +RC           = $(WRC)
  1511. +RC16         = $(WRC)
  1512. +RCFLAGS      = --nostdinc $(INCLUDES) $(DEFS) $(EXTRARCFLAGS)
  1513. +RC16FLAGS    = -O res16 $(RCFLAGS)
  1514. +LDPATH       = LD_LIBRARY_PATH="$(TOOLSDIR)/libs/wine:$$LD_LIBRARY_PATH"
  1515. +DLLDIR       = $(TOPOBJDIR)/dlls
  1516. +LIBPORT      = $(TOPOBJDIR)/libs/port/libwine_port.a
  1517. +LIBWPP       = $(TOPOBJDIR)/libs/wpp/libwpp.a
  1518. +LIBWINE      = -L$(TOPOBJDIR)/libs/wine -lwine
  1519. +LDRPATH_INSTALL = -Wl,--rpath,\$$ORIGIN/`$(RELPATH) $(bindir) $(libdir)` -Wl,--enable-new-dtags
  1520. +LDRPATH_LOCAL   = -Wl,--rpath,\$$ORIGIN/$(TOPOBJDIR)/libs/wine
  1521. +
  1522. +
  1523. +
  1524. +# Installation infos
  1525. +
  1526. +INSTALL         = /usr/bin/install -c $(INSTALL_FLAGS)
  1527. +INSTALL_PROGRAM = ${INSTALL} $(INSTALL_PROGRAM_FLAGS)
  1528. +INSTALL_SCRIPT  = ${INSTALL} $(INSTALL_SCRIPT_FLAGS)
  1529. +INSTALL_DATA    = ${INSTALL} -m 644 $(INSTALL_DATA_FLAGS)
  1530. +prefix          = /usr/local
  1531. +exec_prefix     = ${prefix}
  1532. +bindir          = ${exec_prefix}/bin
  1533. +libdir          = ${exec_prefix}/lib
  1534. +datarootdir     = ${prefix}/share
  1535. +datadir         = ${datarootdir}
  1536. +infodir         = ${datarootdir}/info
  1537. +mandir          = ${datarootdir}/man
  1538. +sysconfdir      = ${prefix}/etc
  1539. +includedir      = ${prefix}/include/wine
  1540. +dlldir          = ${exec_prefix}/lib/wine
  1541. +fakedlldir      = $(dlldir)/fakedlls
  1542. +prog_manext     = 1
  1543. +api_manext      = 3w
  1544. +conf_manext     = 5
  1545. +CLEAN_FILES     = *.o *.a *.so *.ln *.res *.fake *.$(LIBEXT) \\\#*\\\# *~ *% .\\\#* *.bak *.orig *.rej *.flc core
  1546. +
  1547. +IDL_GEN_C_SRCS  = $(IDL_C_SRCS:.idl=_c.c) $(IDL_I_SRCS:.idl=_i.c) \
  1548. +                  $(IDL_P_SRCS:.idl=_p.c) $(IDL_S_SRCS:.idl=_s.c)
  1549. +IDL_GEN_HEADERS = $(IDL_H_SRCS:.idl=.h) $(IDL_C_SRCS:.idl=.h) $(IDL_I_SRCS:.idl=.h) \
  1550. +                  $(IDL_P_SRCS:.idl=.h) $(IDL_S_SRCS:.idl=.h)
  1551. +
  1552. +CLEAN_TARGETS = $(IDL_GEN_C_SRCS) $(IDL_GEN_HEADERS) $(IDL_TLB_SRCS:.idl=.tlb) $(IDL_P_SRCS:%=dlldata.c) \
  1553. +                $(BISON_SRCS:.y=.tab.c) $(BISON_SRCS:.y=.tab.h) $(LEX_SRCS:.l=.yy.c) $(MC_SRCS:.mc=.mc.rc)
  1554. +
  1555. +OBJS = $(C_SRCS:.c=.o) $(BISON_SRCS:.y=.tab.o) $(LEX_SRCS:.l=.yy.o) $(IDL_GEN_C_SRCS:.c=.o) \
  1556. +       $(RC_SRCS:.rc=.res) $(MC_SRCS:.mc=.mc.res) $(EXTRA_OBJS)
  1557. +
  1558. +LINTS  = $(C_SRCS:.c=.ln)
  1559. +
  1560. +# 'all' target first in case the enclosing Makefile didn't define any target
  1561. +
  1562. +all:
  1563. +
  1564. +filter: dummy
  1565. +       @$(TOPSRCDIR)/tools/winapi/make_filter --make $(MAKE) all
  1566. +
  1567. +.PHONY: all filter
  1568. +
  1569. +# Implicit rules
  1570. +
  1571. +.SUFFIXES: .mc .rc .mc.rc .res .spec .spec.o .idl .tlb .h .y .l .tab.c .tab.h .yy.c .ok .man.in .man _c.c _i.c _p.c _s.c # .sfd .ttf .svg .ico
  1572. +
  1573. +.c.o:
  1574. +       $(CC) -c $(ALLCFLAGS) -o $@ $<
  1575. +
  1576. +.y.tab.c:
  1577. +       $(BISON) $(BISONFLAGS) -p $*_ -o $@ $<
  1578. +
  1579. +.y.tab.h:
  1580. +       $(BISON) $(BISONFLAGS) -p $*_ -o $*.tab.c -d $<
  1581. +
  1582. +.l.yy.c:
  1583. +       $(FLEX) $(LEXFLAGS) -o$@ $<
  1584. +
  1585. +.mc.mc.rc:
  1586. +       $(LDPATH) $(WMC) -i -U -H /dev/null -o $@ $<
  1587. +
  1588. +.rc.res:
  1589. +       $(LDPATH) $(RC) $(RCFLAGS) -fo$@ $<
  1590. +
  1591. +.spec.spec.o:
  1592. +       $(WINEBUILD) $(WINEBUILDFLAGS) --dll -o $@ --main-module $(MODULE) --export $<
  1593. +
  1594. +.idl.h:
  1595. +       $(WIDL) $(IDLFLAGS) -h -H $@ $<
  1596. +
  1597. +.idl_c.c:
  1598. +       $(WIDL) $(IDLFLAGS) -c -C $@ $<
  1599. +
  1600. +.idl_i.c:
  1601. +       $(WIDL) $(IDLFLAGS) -u -U $@ $<
  1602. +
  1603. +.idl_p.c:
  1604. +       $(WIDL) $(IDLFLAGS) -p -P $@ $<
  1605. +
  1606. +.idl_s.c:
  1607. +       $(WIDL) $(IDLFLAGS) -s -S $@ $<
  1608. +
  1609. +.idl.tlb:
  1610. +       $(WIDL) $(TARGETFLAGS) $(IDLFLAGS) -t -T $@ $<
  1611. +
  1612. +.c.ln:
  1613. +       $(LINT) -c $(ALLLINTFLAGS) $< || ( $(RM) $@ && exit 1 )
  1614. +
  1615. +.c.ok:
  1616. +       $(RUNTEST) $(RUNTESTFLAGS) $< && touch $@
  1617. +
  1618. +.sfd.ttf:
  1619. +       $(FONTFORGE) -script $(TOPSRCDIR)/fonts/genttf.ff $< $@
  1620. +
  1621. +.man.in.man:
  1622. +       LC_ALL=C sed -e 's,@bindir\@,$(bindir),g' -e 's,@dlldir\@,$(dlldir),g' -e 's,@PACKAGE_STRING\@,Wine 1.1.35,g' $< >$@ || ($(RM) $@ && false)
  1623. +
  1624. +.svg.ico:
  1625. +       $(RSVG) -w 16 -h 16 -f png $< $*-16.png
  1626. +       $(RSVG) -w 32 -h 32 -f png $< $*-32.png
  1627. +       $(RSVG) -w 48 -h 48 -f png $< $*-48.png
  1628. +       $(ICOTOOL) -c -o $@ $*-16.png $*-32.png $*-48.png
  1629. +       $(RM) $*-16.png $*-32.png $*-48.png
  1630. +
  1631. +# Rules for IDL files
  1632. +
  1633. +dlldata.c: $(WIDL) Makefile.in
  1634. +       $(WIDL) $(IDLFLAGS) --dlldata-only --dlldata=$@ $(IDL_P_SRCS)
  1635. +
  1636. +# Rule for linting
  1637. +
  1638. +$(MODULE).ln : $(LINTS)
  1639. +       if test "$(LINTS)" ; \
  1640. +       then \
  1641. +               $(LINT) $(ALLLINTFLAGS) -o$(MODULE) $(LINTS) ; \
  1642. +               $(MV) llib-l$(MODULE).ln $(MODULE).ln ; \
  1643. +       else \
  1644. +               $(LINT) $(ALLLINTFLAGS) -C$(MODULE) /dev/null ; \
  1645. +       fi
  1646. +
  1647. +lint:: $(MODULE).ln
  1648. +
  1649. +# Rules for Windows API checking
  1650. +
  1651. +winapi_check:: dummy
  1652. +       $(WINAPI_CHECK) $(WINAPI_CHECK_FLAGS) $(WINAPI_CHECK_EXTRA_FLAGS) .
  1653. +
  1654. +.PHONY: winapi_check
  1655. +
  1656. +# Rules for dependencies
  1657. +
  1658. +DEPEND_SRCS = $(C_SRCS) $(C_SRCS16) $(RC_SRCS) $(RC_SRCS16) $(MC_SRCS) \
  1659. +              $(IDL_H_SRCS) $(IDL_C_SRCS) $(IDL_I_SRCS) $(IDL_P_SRCS) $(IDL_S_SRCS) \
  1660. +              $(IDL_GEN_C_SRCS) $(IDL_TLB_SRCS) $(IDL_TLB_SRCS:.idl=.tlb) \
  1661. +              $(BISON_SRCS) $(LEX_SRCS) $(EXTRA_SRCS)
  1662. +
  1663. +$(SUBDIRS:%=%/__depend__): dummy
  1664. +       @cd `dirname $@` && $(MAKE) depend
  1665. +
  1666. +depend: $(SUBDIRS:%=%/__depend__) dummy
  1667. +       $(MAKEDEP) $(MAKEDEPFLAGS) -C$(SRCDIR) -S$(TOPSRCDIR) -T$(TOPOBJDIR) $(EXTRAINCL) $(DEPEND_SRCS)
  1668. +
  1669. +.PHONY: depend $(SUBDIRS:%=%/__depend__)
  1670. +
  1671. +# Rules for cleaning
  1672. +
  1673. +$(SUBDIRS:%=%/__clean__): dummy
  1674. +       @cd `dirname $@` && $(MAKE) clean
  1675. +
  1676. +$(EXTRASUBDIRS:%=%/__clean__): dummy
  1677. +       -cd `dirname $@` && $(RM) $(CLEAN_FILES)
  1678. +
  1679. +clean:: $(SUBDIRS:%=%/__clean__) $(EXTRASUBDIRS:%=%/__clean__)
  1680. +       $(RM) $(CLEAN_FILES) $(CLEAN_TARGETS) $(PROGRAMS) $(MANPAGES)
  1681. +
  1682. +.PHONY: clean $(SUBDIRS:%=%/__clean__) $(EXTRASUBDIRS:%=%/__clean__)
  1683. +
  1684. +# Rules for installing
  1685. +
  1686. +$(SUBDIRS:%=%/__install__): dummy
  1687. +       @cd `dirname $@` && $(MAKE) install
  1688. +
  1689. +$(SUBDIRS:%=%/__install-lib__): dummy
  1690. +       @cd `dirname $@` && $(MAKE) install-lib
  1691. +
  1692. +$(SUBDIRS:%=%/__install-dev__): dummy
  1693. +       @cd `dirname $@` && $(MAKE) install-dev
  1694. +
  1695. +$(SUBDIRS:%=%/__uninstall__): dummy
  1696. +       @cd `dirname $@` && $(MAKE) uninstall
  1697. +
  1698. +install:: $(INSTALLSUBDIRS:%=%/__install__) dummy
  1699. +install-lib:: $(INSTALLSUBDIRS:%=%/__install-lib__) dummy
  1700. +install-dev:: $(INSTALLSUBDIRS:%=%/__install-dev__) dummy
  1701. +uninstall:: $(INSTALLSUBDIRS:%=%/__uninstall__) dummy
  1702. +
  1703. +$(INSTALLDIRS):
  1704. +       $(MKINSTALLDIRS) $@
  1705. +
  1706. +.PHONY: install install-lib install-dev uninstall \
  1707. +       $(SUBDIRS:%=%/__install__) $(SUBDIRS:%=%/__uninstall__) \
  1708. +       $(SUBDIRS:%=%/__install-lib__) $(SUBDIRS:%=%/__install-dev__)
  1709. +
  1710. +# Rules for testing
  1711. +
  1712. +$(TESTSUBDIRS:%=%/__test__): dummy
  1713. +       @cd `dirname $@` && $(MAKE) test
  1714. +
  1715. +$(TESTSUBDIRS:%=%/__crosstest__): dummy
  1716. +       @cd `dirname $@` && $(MAKE) crosstest
  1717. +
  1718. +$(TESTSUBDIRS:%=%/__testclean__): dummy
  1719. +       @cd `dirname $@` && $(MAKE) testclean
  1720. +
  1721. +check test:: $(TESTSUBDIRS:%=%/__test__) dummy
  1722. +
  1723. +crosstest:: $(TESTSUBDIRS:%=%/__crosstest__) dummy
  1724. +
  1725. +testclean:: $(TESTSUBDIRS:%=%/__testclean__) dummy
  1726. +
  1727. +.PHONY: check test testclean crosstest $(TESTSUBDIRS:%=%/__test__) $(TESTSUBDIRS:%=%/__crosstest__) $(TESTSUBDIRS:%=%/__testclean__)
  1728. +
  1729. +# Rules for auto documentation
  1730. +
  1731. +$(DOCSUBDIRS:%=%/__man__): dummy
  1732. +       @cd `dirname $@` && $(MAKE) man
  1733. +
  1734. +$(DOCSUBDIRS:%=%/__doc_html__): dummy
  1735. +       @cd `dirname $@` && $(MAKE) doc-html
  1736. +
  1737. +$(DOCSUBDIRS:%=%/__doc_sgml__): dummy
  1738. +       @cd `dirname $@` && $(MAKE) doc-sgml
  1739. +
  1740. +$(DOCSUBDIRS:%=%/__doc_xml__): dummy
  1741. +       @cd `dirname $@` && $(MAKE) doc-xml
  1742. +
  1743. +man: $(DOCSUBDIRS:%=%/__man__)
  1744. +doc-html: $(DOCSUBDIRS:%=%/__doc_html__)
  1745. +doc-sgml: $(DOCSUBDIRS:%=%/__doc_sgml__)
  1746. +doc-xml: $(DOCSUBDIRS:%=%/__doc_xml__)
  1747. +
  1748. +.PHONY: man doc-html doc-sgml doc-xml $(DOCSUBDIRS:%=%/__man__) $(DOCSUBDIRS:%=%/__doc_html__) $(DOCSUBDIRS:%=%/__doc_sgml__) $(DOCSUBDIRS:%=%/__doc_xml__)
  1749. +
  1750. +# Misc. rules
  1751. +
  1752. +$(MC_SRCS:.mc=.mc.rc): $(WMC)
  1753. +
  1754. +$(IDL_GEN_HEADERS) $(IDL_GEN_C_SRCS) $(IDL_TLB_SRCS:.idl=.tlb): $(WIDL)
  1755. +
  1756. +$(RC_SRCS:.rc=.res) $(MC_SRCS:.mc=.mc.res) $(RC_SRCS16:.rc=.res): $(WRC)
  1757. +
  1758. +$(SUBDIRS): dummy
  1759. +       @cd $@ && $(MAKE)
  1760. +
  1761. +dummy:
  1762. +
  1763. +.PHONY: dummy $(SUBDIRS)
  1764. +
  1765. +# End of global rules
  1766. +
  1767. +# Main target
  1768. +
  1769. +all: $(BUILDSUBDIRS) $(WIN16_FILES)
  1770. +
  1771. +# Placeholders for 16-bit libraries
  1772. +
  1773. +krnl386.exe16:
  1774. +       echo "kernel32.dll" >$@
  1775. +
  1776. +user.exe16:
  1777. +       echo "user32.dll" >$@
  1778. +
  1779. +wprocs.dll16:
  1780. +       echo "winedos.dll" >$@
  1781. +
  1782. +# Import libraries
  1783. +
  1784. +STATIC_IMPLIBEXT = $(IMPLIBEXT:def=def.a)
  1785. +
  1786. +IMPORT_SYMLINKS = \
  1787. +       libd3dx9.$(IMPLIBEXT) \
  1788. +       libwinspool.$(IMPLIBEXT) \
  1789. +       libxinput.$(IMPLIBEXT)
  1790. +
  1791. +IMPORT_LIBS = \
  1792. +       $(IMPORT_SYMLINKS) \
  1793. +       adsiid/libadsiid.a \
  1794. +       dxerr8/libdxerr8.a \
  1795. +       dxerr9/libdxerr9.a \
  1796. +       dxguid/libdxguid.a \
  1797. +       strmiids/libstrmiids.a \
  1798. +       uuid/libuuid.a \
  1799. +       winecrt0/libwinecrt0.a \
  1800. +       aclui/libaclui.$(IMPLIBEXT) \
  1801. +       activeds/libactiveds.$(IMPLIBEXT) \
  1802. +       advapi32/libadvapi32.$(IMPLIBEXT) \
  1803. +       advpack/libadvpack.$(IMPLIBEXT) \
  1804. +       atl/libatl.$(IMPLIBEXT) \
  1805. +       avicap32/libavicap32.$(IMPLIBEXT) \
  1806. +       avifil32/libavifil32.$(IMPLIBEXT) \
  1807. +       avrt/libavrt.$(IMPLIBEXT) \
  1808. +       cabinet/libcabinet.$(IMPLIBEXT) \
  1809. +       capi2032/libcapi2032.$(IMPLIBEXT) \
  1810. +       cards/libcards.$(IMPLIBEXT) \
  1811. +       cfgmgr32/libcfgmgr32.$(IMPLIBEXT) \
  1812. +       clusapi/libclusapi.$(IMPLIBEXT) \
  1813. +       comctl32/libcomctl32.$(IMPLIBEXT) \
  1814. +       comdlg32/libcomdlg32.$(IMPLIBEXT) \
  1815. +       compstui/libcompstui.$(IMPLIBEXT) \
  1816. +       credui/libcredui.$(IMPLIBEXT) \
  1817. +       crtdll/libcrtdll.$(IMPLIBEXT) \
  1818. +       crypt32/libcrypt32.$(IMPLIBEXT) \
  1819. +       cryptdll/libcryptdll.$(IMPLIBEXT) \
  1820. +       cryptnet/libcryptnet.$(IMPLIBEXT) \
  1821. +       cryptui/libcryptui.$(IMPLIBEXT) \
  1822. +       ctl3d32/libctl3d32.$(IMPLIBEXT) \
  1823. +       d3d10/libd3d10.$(IMPLIBEXT) \
  1824. +       d3d10core/libd3d10core.$(IMPLIBEXT) \
  1825. +       d3d8/libd3d8.$(IMPLIBEXT) \
  1826. +       d3d9/libd3d9.$(IMPLIBEXT) \
  1827. +       d3dim/libd3dim.$(IMPLIBEXT) \
  1828. +       d3drm/libd3drm.$(IMPLIBEXT) \
  1829. +       d3dx9_36/libd3dx9.$(IMPLIBEXT) \
  1830. +       d3dxof/libd3dxof.$(IMPLIBEXT) \
  1831. +       dbghelp/libdbghelp.$(IMPLIBEXT) \
  1832. +       dciman32/libdciman32.$(IMPLIBEXT) \
  1833. +       ddraw/libddraw.$(IMPLIBEXT) \
  1834. +       dinput/libdinput.$(IMPLIBEXT) \
  1835. +       dinput/libdinput.$(STATIC_IMPLIBEXT) \
  1836. +       dinput8/libdinput8.$(IMPLIBEXT) \
  1837. +       dmusic32/libdmusic32.$(IMPLIBEXT) \
  1838. +       dnsapi/libdnsapi.$(IMPLIBEXT) \
  1839. +       dplay/libdplay.$(IMPLIBEXT) \
  1840. +       dplayx/libdplayx.$(IMPLIBEXT) \
  1841. +       dpnet/libdpnet.$(IMPLIBEXT) \
  1842. +       dsound/libdsound.$(IMPLIBEXT) \
  1843. +       dwmapi/libdwmapi.$(IMPLIBEXT) \
  1844. +       dxgi/libdxgi.$(IMPLIBEXT) \
  1845. +       gdi32/libgdi32.$(IMPLIBEXT) \
  1846. +       gdiplus/libgdiplus.$(IMPLIBEXT) \
  1847. +       glu32/libglu32.$(IMPLIBEXT) \
  1848. +       hid/libhid.$(IMPLIBEXT) \
  1849. +       hlink/libhlink.$(IMPLIBEXT) \
  1850. +       imagehlp/libimagehlp.$(IMPLIBEXT) \
  1851. +       imm32/libimm32.$(IMPLIBEXT) \
  1852. +       inetcomm/libinetcomm.$(IMPLIBEXT) \
  1853. +       iphlpapi/libiphlpapi.$(IMPLIBEXT) \
  1854. +       kernel32/libkernel32.$(IMPLIBEXT) \
  1855. +       loadperf/libloadperf.$(IMPLIBEXT) \
  1856. +       lz32/liblz32.$(IMPLIBEXT) \
  1857. +       mapi32/libmapi32.$(IMPLIBEXT) \
  1858. +       mlang/libmlang.$(IMPLIBEXT) \
  1859. +       mpr/libmpr.$(IMPLIBEXT) \
  1860. +       mprapi/libmprapi.$(IMPLIBEXT) \
  1861. +       msacm32/libmsacm32.$(IMPLIBEXT) \
  1862. +       mscms/libmscms.$(IMPLIBEXT) \
  1863. +       msdmo/libmsdmo.$(IMPLIBEXT) \
  1864. +       mshtml/libmshtml.$(IMPLIBEXT) \
  1865. +       msi/libmsi.$(IMPLIBEXT) \
  1866. +       msimg32/libmsimg32.$(IMPLIBEXT) \
  1867. +       msvcr71/libmsvcr71.$(IMPLIBEXT) \
  1868. +       msvcrt/libmsvcrt.$(IMPLIBEXT) \
  1869. +       msvcrt20/libmsvcrt20.$(IMPLIBEXT) \
  1870. +       msvcrt40/libmsvcrt40.$(IMPLIBEXT) \
  1871. +       msvcrtd/libmsvcrtd.$(IMPLIBEXT) \
  1872. +       msvfw32/libmsvfw32.$(IMPLIBEXT) \
  1873. +       mswsock/libmswsock.$(IMPLIBEXT) \
  1874. +       nddeapi/libnddeapi.$(IMPLIBEXT) \
  1875. +       netapi32/libnetapi32.$(IMPLIBEXT) \
  1876. +       newdev/libnewdev.$(IMPLIBEXT) \
  1877. +       ntdll/libntdll.$(IMPLIBEXT) \
  1878. +       ntdsapi/libntdsapi.$(IMPLIBEXT) \
  1879. +       ntoskrnl.exe/libntoskrnl.exe.$(IMPLIBEXT) \
  1880. +       odbc32/libodbc32.$(IMPLIBEXT) \
  1881. +       odbccp32/libodbccp32.$(IMPLIBEXT) \
  1882. +       ole32/libole32.$(IMPLIBEXT) \
  1883. +       oleacc/liboleacc.$(IMPLIBEXT) \
  1884. +       oleaut32/liboleaut32.$(IMPLIBEXT) \
  1885. +       olecli32/libolecli32.$(IMPLIBEXT) \
  1886. +       oledlg/liboledlg.$(IMPLIBEXT) \
  1887. +       olepro32/libolepro32.$(IMPLIBEXT) \
  1888. +       olesvr32/libolesvr32.$(IMPLIBEXT) \
  1889. +       opengl32/libopengl32.$(IMPLIBEXT) \
  1890. +       pdh/libpdh.$(IMPLIBEXT) \
  1891. +       powrprof/libpowrprof.$(IMPLIBEXT) \
  1892. +       psapi/libpsapi.$(IMPLIBEXT) \
  1893. +       quartz/libquartz.$(IMPLIBEXT) \
  1894. +       rasapi32/librasapi32.$(IMPLIBEXT) \
  1895. +       rasdlg/librasdlg.$(IMPLIBEXT) \
  1896. +       resutils/libresutils.$(IMPLIBEXT) \
  1897. +       riched20/libriched20.$(IMPLIBEXT) \
  1898. +       rpcrt4/librpcrt4.$(IMPLIBEXT) \
  1899. +       rsaenh/librsaenh.$(IMPLIBEXT) \
  1900. +       rtutils/librtutils.$(IMPLIBEXT) \
  1901. +       secur32/libsecur32.$(IMPLIBEXT) \
  1902. +       sensapi/libsensapi.$(IMPLIBEXT) \
  1903. +       serialui/libserialui.$(IMPLIBEXT) \
  1904. +       setupapi/libsetupapi.$(IMPLIBEXT) \
  1905. +       sfc/libsfc.$(IMPLIBEXT) \
  1906. +       sfc_os/libsfc_os.$(IMPLIBEXT) \
  1907. +       shdocvw/libshdocvw.$(IMPLIBEXT) \
  1908. +       shell32/libshell32.$(IMPLIBEXT) \
  1909. +       shfolder/libshfolder.$(IMPLIBEXT) \
  1910. +       shlwapi/libshlwapi.$(IMPLIBEXT) \
  1911. +       slc/libslc.$(IMPLIBEXT) \
  1912. +       snmpapi/libsnmpapi.$(IMPLIBEXT) \
  1913. +       spoolss/libspoolss.$(IMPLIBEXT) \
  1914. +       sti/libsti.$(IMPLIBEXT) \
  1915. +       tapi32/libtapi32.$(IMPLIBEXT) \
  1916. +       unicows/libunicows.$(IMPLIBEXT) \
  1917. +       url/liburl.$(IMPLIBEXT) \
  1918. +       urlmon/liburlmon.$(IMPLIBEXT) \
  1919. +       user32/libuser32.$(IMPLIBEXT) \
  1920. +       userenv/libuserenv.$(IMPLIBEXT) \
  1921. +       usp10/libusp10.$(IMPLIBEXT) \
  1922. +       uxtheme/libuxtheme.$(IMPLIBEXT) \
  1923. +       vdmdbg/libvdmdbg.$(IMPLIBEXT) \
  1924. +       version/libversion.$(IMPLIBEXT) \
  1925. +       windowscodecs/libwindowscodecs.$(IMPLIBEXT) \
  1926. +       wined3d/libwined3d.$(IMPLIBEXT) \
  1927. +       winhttp/libwinhttp.$(IMPLIBEXT) \
  1928. +       wininet/libwininet.$(IMPLIBEXT) \
  1929. +       winmm/libwinmm.$(IMPLIBEXT) \
  1930. +       winnls32/libwinnls32.$(IMPLIBEXT) \
  1931. +       winscard/libwinscard.$(IMPLIBEXT) \
  1932. +       winspool.drv/libwinspool.$(IMPLIBEXT) \
  1933. +       wintab32/libwintab32.$(IMPLIBEXT) \
  1934. +       wintrust/libwintrust.$(IMPLIBEXT) \
  1935. +       wldap32/libwldap32.$(IMPLIBEXT) \
  1936. +       wnaspi32/libwnaspi32.$(IMPLIBEXT) \
  1937. +       wow32/libwow32.$(IMPLIBEXT) \
  1938. +       ws2_32/libws2_32.$(IMPLIBEXT) \
  1939. +       wsock32/libwsock32.$(IMPLIBEXT) \
  1940. +       wtsapi32/libwtsapi32.$(IMPLIBEXT) \
  1941. +       xinput1_3/libxinput.$(IMPLIBEXT)
  1942. +
  1943. +CROSS_IMPLIBS = \
  1944. +       libd3dx9.a \
  1945. +       libwinspool.a \
  1946. +       libxinput.a \
  1947. +       aclui/libaclui.a \
  1948. +       activeds/libactiveds.a \
  1949. +       advapi32/libadvapi32.a \
  1950. +       advpack/libadvpack.a \
  1951. +       atl/libatl.a \
  1952. +       avicap32/libavicap32.a \
  1953. +       avifil32/libavifil32.a \
  1954. +       avrt/libavrt.a \
  1955. +       cabinet/libcabinet.a \
  1956. +       capi2032/libcapi2032.a \
  1957. +       cards/libcards.a \
  1958. +       cfgmgr32/libcfgmgr32.a \
  1959. +       clusapi/libclusapi.a \
  1960. +       comctl32/libcomctl32.a \
  1961. +       comdlg32/libcomdlg32.a \
  1962. +       compstui/libcompstui.a \
  1963. +       credui/libcredui.a \
  1964. +       crtdll/libcrtdll.a \
  1965. +       crypt32/libcrypt32.a \
  1966. +       cryptdll/libcryptdll.a \
  1967. +       cryptnet/libcryptnet.a \
  1968. +       cryptui/libcryptui.a \
  1969. +       ctl3d32/libctl3d32.a \
  1970. +       d3d10/libd3d10.a \
  1971. +       d3d10core/libd3d10core.a \
  1972. +       d3d8/libd3d8.a \
  1973. +       d3d9/libd3d9.a \
  1974. +       d3dim/libd3dim.a \
  1975. +       d3drm/libd3drm.a \
  1976. +       d3dx9_36/libd3dx9.a \
  1977. +       d3dxof/libd3dxof.a \
  1978. +       dbghelp/libdbghelp.a \
  1979. +       dciman32/libdciman32.a \
  1980. +       ddraw/libddraw.a \
  1981. +       dinput8/libdinput8.a \
  1982. +       dmusic32/libdmusic32.a \
  1983. +       dnsapi/libdnsapi.a \
  1984. +       dplay/libdplay.a \
  1985. +       dplayx/libdplayx.a \
  1986. +       dpnet/libdpnet.a \
  1987. +       dsound/libdsound.a \
  1988. +       dwmapi/libdwmapi.a \
  1989. +       dxgi/libdxgi.a \
  1990. +       gdi32/libgdi32.a \
  1991. +       gdiplus/libgdiplus.a \
  1992. +       glu32/libglu32.a \
  1993. +       hid/libhid.a \
  1994. +       hlink/libhlink.a \
  1995. +       imagehlp/libimagehlp.a \
  1996. +       imm32/libimm32.a \
  1997. +       inetcomm/libinetcomm.a \
  1998. +       iphlpapi/libiphlpapi.a \
  1999. +       kernel32/libkernel32.a \
  2000. +       loadperf/libloadperf.a \
  2001. +       lz32/liblz32.a \
  2002. +       mapi32/libmapi32.a \
  2003. +       mlang/libmlang.a \
  2004. +       mpr/libmpr.a \
  2005. +       mprapi/libmprapi.a \
  2006. +       msacm32/libmsacm32.a \
  2007. +       mscms/libmscms.a \
  2008. +       msdmo/libmsdmo.a \
  2009. +       mshtml/libmshtml.a \
  2010. +       msi/libmsi.a \
  2011. +       msimg32/libmsimg32.a \
  2012. +       msvcr71/libmsvcr71.a \
  2013. +       msvcrt/libmsvcrt.a \
  2014. +       msvcrt20/libmsvcrt20.a \
  2015. +       msvcrt40/libmsvcrt40.a \
  2016. +       msvcrtd/libmsvcrtd.a \
  2017. +       msvfw32/libmsvfw32.a \
  2018. +       mswsock/libmswsock.a \
  2019. +       nddeapi/libnddeapi.a \
  2020. +       netapi32/libnetapi32.a \
  2021. +       newdev/libnewdev.a \
  2022. +       ntdll/libntdll.a \
  2023. +       ntdsapi/libntdsapi.a \
  2024. +       ntoskrnl.exe/libntoskrnl.exe.a \
  2025. +       odbc32/libodbc32.a \
  2026. +       odbccp32/libodbccp32.a \
  2027. +       ole32/libole32.a \
  2028. +       oleacc/liboleacc.a \
  2029. +       oleaut32/liboleaut32.a \
  2030. +       olecli32/libolecli32.a \
  2031. +       oledlg/liboledlg.a \
  2032. +       olepro32/libolepro32.a \
  2033. +       olesvr32/libolesvr32.a \
  2034. +       opengl32/libopengl32.a \
  2035. +       pdh/libpdh.a \
  2036. +       powrprof/libpowrprof.a \
  2037. +       psapi/libpsapi.a \
  2038. +       quartz/libquartz.a \
  2039. +       rasapi32/librasapi32.a \
  2040. +       rasdlg/librasdlg.a \
  2041. +       resutils/libresutils.a \
  2042. +       riched20/libriched20.a \
  2043. +       rpcrt4/librpcrt4.a \
  2044. +       rsaenh/librsaenh.a \
  2045. +       rtutils/librtutils.a \
  2046. +       secur32/libsecur32.a \
  2047. +       sensapi/libsensapi.a \
  2048. +       serialui/libserialui.a \
  2049. +       setupapi/libsetupapi.a \
  2050. +       sfc/libsfc.a \
  2051. +       sfc_os/libsfc_os.a \
  2052. +       shdocvw/libshdocvw.a \
  2053. +       shell32/libshell32.a \
  2054. +       shfolder/libshfolder.a \
  2055. +       shlwapi/libshlwapi.a \
  2056. +       slc/libslc.a \
  2057. +       snmpapi/libsnmpapi.a \
  2058. +       spoolss/libspoolss.a \
  2059. +       sti/libsti.a \
  2060. +       tapi32/libtapi32.a \
  2061. +       unicows/libunicows.a \
  2062. +       url/liburl.a \
  2063. +       urlmon/liburlmon.a \
  2064. +       user32/libuser32.a \
  2065. +       userenv/libuserenv.a \
  2066. +       usp10/libusp10.a \
  2067. +       uxtheme/libuxtheme.a \
  2068. +       vdmdbg/libvdmdbg.a \
  2069. +       version/libversion.a \
  2070. +       windowscodecs/libwindowscodecs.a \
  2071. +       wined3d/libwined3d.a \
  2072. +       winhttp/libwinhttp.a \
  2073. +       wininet/libwininet.a \
  2074. +       winmm/libwinmm.a \
  2075. +       winnls32/libwinnls32.a \
  2076. +       winscard/libwinscard.a \
  2077. +       winspool.drv/libwinspool.a \
  2078. +       wintab32/libwintab32.a \
  2079. +       wintrust/libwintrust.a \
  2080. +       wldap32/libwldap32.a \
  2081. +       wnaspi32/libwnaspi32.a \
  2082. +       wow32/libwow32.a \
  2083. +       ws2_32/libws2_32.a \
  2084. +       wsock32/libwsock32.a \
  2085. +       wtsapi32/libwtsapi32.a \
  2086. +       xinput1_3/libxinput.a
  2087. +
  2088. +$(TESTSUBDIRS:%=%/__crosstest__): $(CROSS_IMPLIBS)
  2089. +
  2090. +implib: $(IMPORT_LIBS)
  2091. +
  2092. +testsubdirs: $(TESTSUBDIRS)
  2093. +
  2094. +.PHONY: implib testsubdirs
  2095. +
  2096. +aclui/libaclui.def aclui/libaclui.a: aclui/aclui.spec $(WINEBUILD)
  2097. +       @cd aclui && $(MAKE) `basename $@`
  2098. +
  2099. +activeds/libactiveds.def activeds/libactiveds.a: activeds/activeds.spec $(WINEBUILD)
  2100. +       @cd activeds && $(MAKE) `basename $@`
  2101. +
  2102. +advapi32/libadvapi32.def advapi32/libadvapi32.a: advapi32/advapi32.spec $(WINEBUILD)
  2103. +       @cd advapi32 && $(MAKE) `basename $@`
  2104. +
  2105. +advpack/libadvpack.def advpack/libadvpack.a: advpack/advpack.spec $(WINEBUILD)
  2106. +       @cd advpack && $(MAKE) `basename $@`
  2107. +
  2108. +atl/libatl.def atl/libatl.a: atl/atl.spec $(WINEBUILD)
  2109. +       @cd atl && $(MAKE) `basename $@`
  2110. +
  2111. +avicap32/libavicap32.def avicap32/libavicap32.a: avicap32/avicap32.spec $(WINEBUILD)
  2112. +       @cd avicap32 && $(MAKE) `basename $@`
  2113. +
  2114. +avifil32/libavifil32.def avifil32/libavifil32.a: avifil32/avifil32.spec $(WINEBUILD)
  2115. +       @cd avifil32 && $(MAKE) `basename $@`
  2116. +
  2117. +avrt/libavrt.def avrt/libavrt.a: avrt/avrt.spec $(WINEBUILD)
  2118. +       @cd avrt && $(MAKE) `basename $@`
  2119. +
  2120. +cabinet/libcabinet.def cabinet/libcabinet.a: cabinet/cabinet.spec $(WINEBUILD)
  2121. +       @cd cabinet && $(MAKE) `basename $@`
  2122. +
  2123. +capi2032/libcapi2032.def capi2032/libcapi2032.a: capi2032/capi2032.spec $(WINEBUILD)
  2124. +       @cd capi2032 && $(MAKE) `basename $@`
  2125. +
  2126. +cards/libcards.def cards/libcards.a: cards/cards.spec $(WINEBUILD)
  2127. +       @cd cards && $(MAKE) `basename $@`
  2128. +
  2129. +cfgmgr32/libcfgmgr32.def cfgmgr32/libcfgmgr32.a: cfgmgr32/cfgmgr32.spec $(WINEBUILD)
  2130. +       @cd cfgmgr32 && $(MAKE) `basename $@`
  2131. +
  2132. +clusapi/libclusapi.def clusapi/libclusapi.a: clusapi/clusapi.spec $(WINEBUILD)
  2133. +       @cd clusapi && $(MAKE) `basename $@`
  2134. +
  2135. +comctl32/libcomctl32.def comctl32/libcomctl32.a: comctl32/comctl32.spec $(WINEBUILD)
  2136. +       @cd comctl32 && $(MAKE) `basename $@`
  2137. +
  2138. +comdlg32/libcomdlg32.def comdlg32/libcomdlg32.a: comdlg32/comdlg32.spec $(WINEBUILD)
  2139. +       @cd comdlg32 && $(MAKE) `basename $@`
  2140. +
  2141. +compstui/libcompstui.def compstui/libcompstui.a: compstui/compstui.spec $(WINEBUILD)
  2142. +       @cd compstui && $(MAKE) `basename $@`
  2143. +
  2144. +credui/libcredui.def credui/libcredui.a: credui/credui.spec $(WINEBUILD)
  2145. +       @cd credui && $(MAKE) `basename $@`
  2146. +
  2147. +crtdll/libcrtdll.def crtdll/libcrtdll.a: crtdll/crtdll.spec $(WINEBUILD)
  2148. +       @cd crtdll && $(MAKE) `basename $@`
  2149. +
  2150. +crypt32/libcrypt32.def crypt32/libcrypt32.a: crypt32/crypt32.spec $(WINEBUILD)
  2151. +       @cd crypt32 && $(MAKE) `basename $@`
  2152. +
  2153. +cryptdll/libcryptdll.def cryptdll/libcryptdll.a: cryptdll/cryptdll.spec $(WINEBUILD)
  2154. +       @cd cryptdll && $(MAKE) `basename $@`
  2155. +
  2156. +cryptnet/libcryptnet.def cryptnet/libcryptnet.a: cryptnet/cryptnet.spec $(WINEBUILD)
  2157. +       @cd cryptnet && $(MAKE) `basename $@`
  2158. +
  2159. +cryptui/libcryptui.def cryptui/libcryptui.a: cryptui/cryptui.spec $(WINEBUILD)
  2160. +       @cd cryptui && $(MAKE) `basename $@`
  2161. +
  2162. +ctl3d32/libctl3d32.def ctl3d32/libctl3d32.a: ctl3d32/ctl3d32.spec $(WINEBUILD)
  2163. +       @cd ctl3d32 && $(MAKE) `basename $@`
  2164. +
  2165. +d3d10/libd3d10.def d3d10/libd3d10.a: d3d10/d3d10.spec $(WINEBUILD)
  2166. +       @cd d3d10 && $(MAKE) `basename $@`
  2167. +
  2168. +d3d10core/libd3d10core.def d3d10core/libd3d10core.a: d3d10core/d3d10core.spec $(WINEBUILD)
  2169. +       @cd d3d10core && $(MAKE) `basename $@`
  2170. +
  2171. +d3d8/libd3d8.def d3d8/libd3d8.a: d3d8/d3d8.spec $(WINEBUILD)
  2172. +       @cd d3d8 && $(MAKE) `basename $@`
  2173. +
  2174. +d3d9/libd3d9.def d3d9/libd3d9.a: d3d9/d3d9.spec $(WINEBUILD)
  2175. +       @cd d3d9 && $(MAKE) `basename $@`
  2176. +
  2177. +d3dim/libd3dim.def d3dim/libd3dim.a: d3dim/d3dim.spec $(WINEBUILD)
  2178. +       @cd d3dim && $(MAKE) `basename $@`
  2179. +
  2180. +d3drm/libd3drm.def d3drm/libd3drm.a: d3drm/d3drm.spec $(WINEBUILD)
  2181. +       @cd d3drm && $(MAKE) `basename $@`
  2182. +
  2183. +d3dx9_36/libd3dx9.def d3dx9_36/libd3dx9.a: d3dx9_36/d3dx9_36.spec $(WINEBUILD)
  2184. +       @cd d3dx9_36 && $(MAKE) `basename $@`
  2185. +
  2186. +d3dxof/libd3dxof.def d3dxof/libd3dxof.a: d3dxof/d3dxof.spec $(WINEBUILD)
  2187. +       @cd d3dxof && $(MAKE) `basename $@`
  2188. +
  2189. +dbghelp/libdbghelp.def dbghelp/libdbghelp.a: dbghelp/dbghelp.spec $(WINEBUILD)
  2190. +       @cd dbghelp && $(MAKE) `basename $@`
  2191. +
  2192. +dciman32/libdciman32.def dciman32/libdciman32.a: dciman32/dciman32.spec $(WINEBUILD)
  2193. +       @cd dciman32 && $(MAKE) `basename $@`
  2194. +
  2195. +ddraw/libddraw.def ddraw/libddraw.a: ddraw/ddraw.spec $(WINEBUILD)
  2196. +       @cd ddraw && $(MAKE) `basename $@`
  2197. +
  2198. +dinput/libdinput.def: dinput/dinput.spec $(WINEBUILD)
  2199. +       @cd dinput && $(MAKE) libdinput.def
  2200. +
  2201. +dinput/libdinput.$(STATIC_IMPLIBEXT): dummy
  2202. +       @cd dinput && $(MAKE) libdinput.$(STATIC_IMPLIBEXT)
  2203. +
  2204. +dinput8/libdinput8.def dinput8/libdinput8.a: dinput8/dinput8.spec $(WINEBUILD)
  2205. +       @cd dinput8 && $(MAKE) `basename $@`
  2206. +
  2207. +dmusic32/libdmusic32.def dmusic32/libdmusic32.a: dmusic32/dmusic32.spec $(WINEBUILD)
  2208. +       @cd dmusic32 && $(MAKE) `basename $@`
  2209. +
  2210. +dnsapi/libdnsapi.def dnsapi/libdnsapi.a: dnsapi/dnsapi.spec $(WINEBUILD)
  2211. +       @cd dnsapi && $(MAKE) `basename $@`
  2212. +
  2213. +dplay/libdplay.def dplay/libdplay.a: dplay/dplay.spec $(WINEBUILD)
  2214. +       @cd dplay && $(MAKE) `basename $@`
  2215. +
  2216. +dplayx/libdplayx.def dplayx/libdplayx.a: dplayx/dplayx.spec $(WINEBUILD)
  2217. +       @cd dplayx && $(MAKE) `basename $@`
  2218. +
  2219. +dpnet/libdpnet.def dpnet/libdpnet.a: dpnet/dpnet.spec $(WINEBUILD)
  2220. +       @cd dpnet && $(MAKE) `basename $@`
  2221. +
  2222. +dsound/libdsound.def dsound/libdsound.a: dsound/dsound.spec $(WINEBUILD)
  2223. +       @cd dsound && $(MAKE) `basename $@`
  2224. +
  2225. +dwmapi/libdwmapi.def dwmapi/libdwmapi.a: dwmapi/dwmapi.spec $(WINEBUILD)
  2226. +       @cd dwmapi && $(MAKE) `basename $@`
  2227. +
  2228. +dxgi/libdxgi.def dxgi/libdxgi.a: dxgi/dxgi.spec $(WINEBUILD)
  2229. +       @cd dxgi && $(MAKE) `basename $@`
  2230. +
  2231. +gdi32/libgdi32.def gdi32/libgdi32.a: gdi32/gdi32.spec $(WINEBUILD)
  2232. +       @cd gdi32 && $(MAKE) `basename $@`
  2233. +
  2234. +gdiplus/libgdiplus.def gdiplus/libgdiplus.a: gdiplus/gdiplus.spec $(WINEBUILD)
  2235. +       @cd gdiplus && $(MAKE) `basename $@`
  2236. +
  2237. +glu32/libglu32.def glu32/libglu32.a: glu32/glu32.spec $(WINEBUILD)
  2238. +       @cd glu32 && $(MAKE) `basename $@`
  2239. +
  2240. +hid/libhid.def hid/libhid.a: hid/hid.spec $(WINEBUILD)
  2241. +       @cd hid && $(MAKE) `basename $@`
  2242. +
  2243. +hlink/libhlink.def hlink/libhlink.a: hlink/hlink.spec $(WINEBUILD)
  2244. +       @cd hlink && $(MAKE) `basename $@`
  2245. +
  2246. +imagehlp/libimagehlp.def imagehlp/libimagehlp.a: imagehlp/imagehlp.spec $(WINEBUILD)
  2247. +       @cd imagehlp && $(MAKE) `basename $@`
  2248. +
  2249. +imm32/libimm32.def imm32/libimm32.a: imm32/imm32.spec $(WINEBUILD)
  2250. +       @cd imm32 && $(MAKE) `basename $@`
  2251. +
  2252. +inetcomm/libinetcomm.def inetcomm/libinetcomm.a: inetcomm/inetcomm.spec $(WINEBUILD)
  2253. +       @cd inetcomm && $(MAKE) `basename $@`
  2254. +
  2255. +iphlpapi/libiphlpapi.def iphlpapi/libiphlpapi.a: iphlpapi/iphlpapi.spec $(WINEBUILD)
  2256. +       @cd iphlpapi && $(MAKE) `basename $@`
  2257. +
  2258. +kernel32/libkernel32.def kernel32/libkernel32.a: kernel32/kernel32.spec $(WINEBUILD)
  2259. +       @cd kernel32 && $(MAKE) `basename $@`
  2260. +
  2261. +loadperf/libloadperf.def loadperf/libloadperf.a: loadperf/loadperf.spec $(WINEBUILD)
  2262. +       @cd loadperf && $(MAKE) `basename $@`
  2263. +
  2264. +lz32/liblz32.def lz32/liblz32.a: lz32/lz32.spec $(WINEBUILD)
  2265. +       @cd lz32 && $(MAKE) `basename $@`
  2266. +
  2267. +mapi32/libmapi32.def mapi32/libmapi32.a: mapi32/mapi32.spec $(WINEBUILD)
  2268. +       @cd mapi32 && $(MAKE) `basename $@`
  2269. +
  2270. +mlang/libmlang.def mlang/libmlang.a: mlang/mlang.spec $(WINEBUILD)
  2271. +       @cd mlang && $(MAKE) `basename $@`
  2272. +
  2273. +mpr/libmpr.def mpr/libmpr.a: mpr/mpr.spec $(WINEBUILD)
  2274. +       @cd mpr && $(MAKE) `basename $@`
  2275. +
  2276. +mprapi/libmprapi.def mprapi/libmprapi.a: mprapi/mprapi.spec $(WINEBUILD)
  2277. +       @cd mprapi && $(MAKE) `basename $@`
  2278. +
  2279. +msacm32/libmsacm32.def msacm32/libmsacm32.a: msacm32/msacm32.spec $(WINEBUILD)
  2280. +       @cd msacm32 && $(MAKE) `basename $@`
  2281. +
  2282. +mscms/libmscms.def mscms/libmscms.a: mscms/mscms.spec $(WINEBUILD)
  2283. +       @cd mscms && $(MAKE) `basename $@`
  2284. +
  2285. +msdmo/libmsdmo.def msdmo/libmsdmo.a: msdmo/msdmo.spec $(WINEBUILD)
  2286. +       @cd msdmo && $(MAKE) `basename $@`
  2287. +
  2288. +mshtml/libmshtml.def mshtml/libmshtml.a: mshtml/mshtml.spec $(WINEBUILD)
  2289. +       @cd mshtml && $(MAKE) `basename $@`
  2290. +
  2291. +msi/libmsi.def msi/libmsi.a: msi/msi.spec $(WINEBUILD)
  2292. +       @cd msi && $(MAKE) `basename $@`
  2293. +
  2294. +msimg32/libmsimg32.def msimg32/libmsimg32.a: msimg32/msimg32.spec $(WINEBUILD)
  2295. +       @cd msimg32 && $(MAKE) `basename $@`
  2296. +
  2297. +msvcr71/libmsvcr71.def msvcr71/libmsvcr71.a: msvcr71/msvcr71.spec $(WINEBUILD)
  2298. +       @cd msvcr71 && $(MAKE) `basename $@`
  2299. +
  2300. +msvcrt/libmsvcrt.def msvcrt/libmsvcrt.a: msvcrt/msvcrt.spec $(WINEBUILD)
  2301. +       @cd msvcrt && $(MAKE) `basename $@`
  2302. +
  2303. +msvcrt20/libmsvcrt20.def msvcrt20/libmsvcrt20.a: msvcrt20/msvcrt20.spec $(WINEBUILD)
  2304. +       @cd msvcrt20 && $(MAKE) `basename $@`
  2305. +
  2306. +msvcrt40/libmsvcrt40.def msvcrt40/libmsvcrt40.a: msvcrt40/msvcrt40.spec $(WINEBUILD)
  2307. +       @cd msvcrt40 && $(MAKE) `basename $@`
  2308. +
  2309. +msvcrtd/libmsvcrtd.def msvcrtd/libmsvcrtd.a: msvcrtd/msvcrtd.spec $(WINEBUILD)
  2310. +       @cd msvcrtd && $(MAKE) `basename $@`
  2311. +
  2312. +msvfw32/libmsvfw32.def msvfw32/libmsvfw32.a: msvfw32/msvfw32.spec $(WINEBUILD)
  2313. +       @cd msvfw32 && $(MAKE) `basename $@`
  2314. +
  2315. +mswsock/libmswsock.def mswsock/libmswsock.a: mswsock/mswsock.spec $(WINEBUILD)
  2316. +       @cd mswsock && $(MAKE) `basename $@`
  2317. +
  2318. +nddeapi/libnddeapi.def nddeapi/libnddeapi.a: nddeapi/nddeapi.spec $(WINEBUILD)
  2319. +       @cd nddeapi && $(MAKE) `basename $@`
  2320. +
  2321. +netapi32/libnetapi32.def netapi32/libnetapi32.a: netapi32/netapi32.spec $(WINEBUILD)
  2322. +       @cd netapi32 && $(MAKE) `basename $@`
  2323. +
  2324. +newdev/libnewdev.def newdev/libnewdev.a: newdev/newdev.spec $(WINEBUILD)
  2325. +       @cd newdev && $(MAKE) `basename $@`
  2326. +
  2327. +ntdll/libntdll.def ntdll/libntdll.a: ntdll/ntdll.spec $(WINEBUILD)
  2328. +       @cd ntdll && $(MAKE) `basename $@`
  2329. +
  2330. +ntdsapi/libntdsapi.def ntdsapi/libntdsapi.a: ntdsapi/ntdsapi.spec $(WINEBUILD)
  2331. +       @cd ntdsapi && $(MAKE) `basename $@`
  2332. +
  2333. +ntoskrnl.exe/libntoskrnl.exe.def ntoskrnl.exe/libntoskrnl.exe.a: ntoskrnl.exe/ntoskrnl.exe.spec $(WINEBUILD)
  2334. +       @cd ntoskrnl.exe && $(MAKE) `basename $@`
  2335. +
  2336. +odbc32/libodbc32.def odbc32/libodbc32.a: odbc32/odbc32.spec $(WINEBUILD)
  2337. +       @cd odbc32 && $(MAKE) `basename $@`
  2338. +
  2339. +odbccp32/libodbccp32.def odbccp32/libodbccp32.a: odbccp32/odbccp32.spec $(WINEBUILD)
  2340. +       @cd odbccp32 && $(MAKE) `basename $@`
  2341. +
  2342. +ole32/libole32.def ole32/libole32.a: ole32/ole32.spec $(WINEBUILD)
  2343. +       @cd ole32 && $(MAKE) `basename $@`
  2344. +
  2345. +oleacc/liboleacc.def oleacc/liboleacc.a: oleacc/oleacc.spec $(WINEBUILD)
  2346. +       @cd oleacc && $(MAKE) `basename $@`
  2347. +
  2348. +oleaut32/liboleaut32.def oleaut32/liboleaut32.a: oleaut32/oleaut32.spec $(WINEBUILD)
  2349. +       @cd oleaut32 && $(MAKE) `basename $@`
  2350. +
  2351. +olecli32/libolecli32.def olecli32/libolecli32.a: olecli32/olecli32.spec $(WINEBUILD)
  2352. +       @cd olecli32 && $(MAKE) `basename $@`
  2353. +
  2354. +oledlg/liboledlg.def oledlg/liboledlg.a: oledlg/oledlg.spec $(WINEBUILD)
  2355. +       @cd oledlg && $(MAKE) `basename $@`
  2356. +
  2357. +olepro32/libolepro32.def olepro32/libolepro32.a: olepro32/olepro32.spec $(WINEBUILD)
  2358. +       @cd olepro32 && $(MAKE) `basename $@`
  2359. +
  2360. +olesvr32/libolesvr32.def olesvr32/libolesvr32.a: olesvr32/olesvr32.spec $(WINEBUILD)
  2361. +       @cd olesvr32 && $(MAKE) `basename $@`
  2362. +
  2363. +opengl32/libopengl32.def opengl32/libopengl32.a: opengl32/opengl32.spec $(WINEBUILD)
  2364. +       @cd opengl32 && $(MAKE) `basename $@`
  2365. +
  2366. +pdh/libpdh.def pdh/libpdh.a: pdh/pdh.spec $(WINEBUILD)
  2367. +       @cd pdh && $(MAKE) `basename $@`
  2368. +
  2369. +powrprof/libpowrprof.def powrprof/libpowrprof.a: powrprof/powrprof.spec $(WINEBUILD)
  2370. +       @cd powrprof && $(MAKE) `basename $@`
  2371. +
  2372. +psapi/libpsapi.def psapi/libpsapi.a: psapi/psapi.spec $(WINEBUILD)
  2373. +       @cd psapi && $(MAKE) `basename $@`
  2374. +
  2375. +quartz/libquartz.def quartz/libquartz.a: quartz/quartz.spec $(WINEBUILD)
  2376. +       @cd quartz && $(MAKE) `basename $@`
  2377. +
  2378. +rasapi32/librasapi32.def rasapi32/librasapi32.a: rasapi32/rasapi32.spec $(WINEBUILD)
  2379. +       @cd rasapi32 && $(MAKE) `basename $@`
  2380. +
  2381. +rasdlg/librasdlg.def rasdlg/librasdlg.a: rasdlg/rasdlg.spec $(WINEBUILD)
  2382. +       @cd rasdlg && $(MAKE) `basename $@`
  2383. +
  2384. +resutils/libresutils.def resutils/libresutils.a: resutils/resutils.spec $(WINEBUILD)
  2385. +       @cd resutils && $(MAKE) `basename $@`
  2386. +
  2387. +riched20/libriched20.def riched20/libriched20.a: riched20/riched20.spec $(WINEBUILD)
  2388. +       @cd riched20 && $(MAKE) `basename $@`
  2389. +
  2390. +rpcrt4/librpcrt4.def rpcrt4/librpcrt4.a: rpcrt4/rpcrt4.spec $(WINEBUILD)
  2391. +       @cd rpcrt4 && $(MAKE) `basename $@`
  2392. +
  2393. +rsaenh/librsaenh.def rsaenh/librsaenh.a: rsaenh/rsaenh.spec $(WINEBUILD)
  2394. +       @cd rsaenh && $(MAKE) `basename $@`
  2395. +
  2396. +rtutils/librtutils.def rtutils/librtutils.a: rtutils/rtutils.spec $(WINEBUILD)
  2397. +       @cd rtutils && $(MAKE) `basename $@`
  2398. +
  2399. +secur32/libsecur32.def secur32/libsecur32.a: secur32/secur32.spec $(WINEBUILD)
  2400. +       @cd secur32 && $(MAKE) `basename $@`
  2401. +
  2402. +sensapi/libsensapi.def sensapi/libsensapi.a: sensapi/sensapi.spec $(WINEBUILD)
  2403. +       @cd sensapi && $(MAKE) `basename $@`
  2404. +
  2405. +serialui/libserialui.def serialui/libserialui.a: serialui/serialui.spec $(WINEBUILD)
  2406. +       @cd serialui && $(MAKE) `basename $@`
  2407. +
  2408. +setupapi/libsetupapi.def setupapi/libsetupapi.a: setupapi/setupapi.spec $(WINEBUILD)
  2409. +       @cd setupapi && $(MAKE) `basename $@`
  2410. +
  2411. +sfc/libsfc.def sfc/libsfc.a: sfc/sfc.spec $(WINEBUILD)
  2412. +       @cd sfc && $(MAKE) `basename $@`
  2413. +
  2414. +sfc_os/libsfc_os.def sfc_os/libsfc_os.a: sfc_os/sfc_os.spec $(WINEBUILD)
  2415. +       @cd sfc_os && $(MAKE) `basename $@`
  2416. +
  2417. +shdocvw/libshdocvw.def shdocvw/libshdocvw.a: shdocvw/shdocvw.spec $(WINEBUILD)
  2418. +       @cd shdocvw && $(MAKE) `basename $@`
  2419. +
  2420. +shell32/libshell32.def shell32/libshell32.a: shell32/shell32.spec $(WINEBUILD)
  2421. +       @cd shell32 && $(MAKE) `basename $@`
  2422. +
  2423. +shfolder/libshfolder.def shfolder/libshfolder.a: shfolder/shfolder.spec $(WINEBUILD)
  2424. +       @cd shfolder && $(MAKE) `basename $@`
  2425. +
  2426. +shlwapi/libshlwapi.def shlwapi/libshlwapi.a: shlwapi/shlwapi.spec $(WINEBUILD)
  2427. +       @cd shlwapi && $(MAKE) `basename $@`
  2428. +
  2429. +slc/libslc.def slc/libslc.a: slc/slc.spec $(WINEBUILD)
  2430. +       @cd slc && $(MAKE) `basename $@`
  2431. +
  2432. +snmpapi/libsnmpapi.def snmpapi/libsnmpapi.a: snmpapi/snmpapi.spec $(WINEBUILD)
  2433. +       @cd snmpapi && $(MAKE) `basename $@`
  2434. +
  2435. +spoolss/libspoolss.def spoolss/libspoolss.a: spoolss/spoolss.spec $(WINEBUILD)
  2436. +       @cd spoolss && $(MAKE) `basename $@`
  2437. +
  2438. +sti/libsti.def sti/libsti.a: sti/sti.spec $(WINEBUILD)
  2439. +       @cd sti && $(MAKE) `basename $@`
  2440. +
  2441. +tapi32/libtapi32.def tapi32/libtapi32.a: tapi32/tapi32.spec $(WINEBUILD)
  2442. +       @cd tapi32 && $(MAKE) `basename $@`
  2443. +
  2444. +unicows/libunicows.def unicows/libunicows.a: unicows/unicows.spec $(WINEBUILD)
  2445. +       @cd unicows && $(MAKE) `basename $@`
  2446. +
  2447. +url/liburl.def url/liburl.a: url/url.spec $(WINEBUILD)
  2448. +       @cd url && $(MAKE) `basename $@`
  2449. +
  2450. +urlmon/liburlmon.def urlmon/liburlmon.a: urlmon/urlmon.spec $(WINEBUILD)
  2451. +       @cd urlmon && $(MAKE) `basename $@`
  2452. +
  2453. +user32/libuser32.def user32/libuser32.a: user32/user32.spec $(WINEBUILD)
  2454. +       @cd user32 && $(MAKE) `basename $@`
  2455. +
  2456. +userenv/libuserenv.def userenv/libuserenv.a: userenv/userenv.spec $(WINEBUILD)
  2457. +       @cd userenv && $(MAKE) `basename $@`
  2458. +
  2459. +usp10/libusp10.def usp10/libusp10.a: usp10/usp10.spec $(WINEBUILD)
  2460. +       @cd usp10 && $(MAKE) `basename $@`
  2461. +
  2462. +uxtheme/libuxtheme.def uxtheme/libuxtheme.a: uxtheme/uxtheme.spec $(WINEBUILD)
  2463. +       @cd uxtheme && $(MAKE) `basename $@`
  2464. +
  2465. +vdmdbg/libvdmdbg.def vdmdbg/libvdmdbg.a: vdmdbg/vdmdbg.spec $(WINEBUILD)
  2466. +       @cd vdmdbg && $(MAKE) `basename $@`
  2467. +
  2468. +version/libversion.def version/libversion.a: version/version.spec $(WINEBUILD)
  2469. +       @cd version && $(MAKE) `basename $@`
  2470. +
  2471. +windowscodecs/libwindowscodecs.def windowscodecs/libwindowscodecs.a: windowscodecs/windowscodecs.spec $(WINEBUILD)
  2472. +       @cd windowscodecs && $(MAKE) `basename $@`
  2473. +
  2474. +wined3d/libwined3d.def wined3d/libwined3d.a: wined3d/wined3d.spec $(WINEBUILD)
  2475. +       @cd wined3d && $(MAKE) `basename $@`
  2476. +
  2477. +winhttp/libwinhttp.def winhttp/libwinhttp.a: winhttp/winhttp.spec $(WINEBUILD)
  2478. +       @cd winhttp && $(MAKE) `basename $@`
  2479. +
  2480. +wininet/libwininet.def wininet/libwininet.a: wininet/wininet.spec $(WINEBUILD)
  2481. +       @cd wininet && $(MAKE) `basename $@`
  2482. +
  2483. +winmm/libwinmm.def winmm/libwinmm.a: winmm/winmm.spec $(WINEBUILD)
  2484. +       @cd winmm && $(MAKE) `basename $@`
  2485. +
  2486. +winnls32/libwinnls32.def winnls32/libwinnls32.a: winnls32/winnls32.spec $(WINEBUILD)
  2487. +       @cd winnls32 && $(MAKE) `basename $@`
  2488. +
  2489. +winscard/libwinscard.def winscard/libwinscard.a: winscard/winscard.spec $(WINEBUILD)
  2490. +       @cd winscard && $(MAKE) `basename $@`
  2491. +
  2492. +winspool.drv/libwinspool.def winspool.drv/libwinspool.a: winspool.drv/winspool.drv.spec $(WINEBUILD)
  2493. +       @cd winspool.drv && $(MAKE) `basename $@`
  2494. +
  2495. +wintab32/libwintab32.def wintab32/libwintab32.a: wintab32/wintab32.spec $(WINEBUILD)
  2496. +       @cd wintab32 && $(MAKE) `basename $@`
  2497. +
  2498. +wintrust/libwintrust.def wintrust/libwintrust.a: wintrust/wintrust.spec $(WINEBUILD)
  2499. +       @cd wintrust && $(MAKE) `basename $@`
  2500. +
  2501. +wldap32/libwldap32.def wldap32/libwldap32.a: wldap32/wldap32.spec $(WINEBUILD)
  2502. +       @cd wldap32 && $(MAKE) `basename $@`
  2503. +
  2504. +wnaspi32/libwnaspi32.def wnaspi32/libwnaspi32.a: wnaspi32/wnaspi32.spec $(WINEBUILD)
  2505. +       @cd wnaspi32 && $(MAKE) `basename $@`
  2506. +
  2507. +wow32/libwow32.def wow32/libwow32.a: wow32/wow32.spec $(WINEBUILD)
  2508. +       @cd wow32 && $(MAKE) `basename $@`
  2509. +
  2510. +ws2_32/libws2_32.def ws2_32/libws2_32.a: ws2_32/ws2_32.spec $(WINEBUILD)
  2511. +       @cd ws2_32 && $(MAKE) `basename $@`
  2512. +
  2513. +wsock32/libwsock32.def wsock32/libwsock32.a: wsock32/wsock32.spec $(WINEBUILD)
  2514. +       @cd wsock32 && $(MAKE) `basename $@`
  2515. +
  2516. +wtsapi32/libwtsapi32.def wtsapi32/libwtsapi32.a: wtsapi32/wtsapi32.spec $(WINEBUILD)
  2517. +       @cd wtsapi32 && $(MAKE) `basename $@`
  2518. +
  2519. +xinput1_3/libxinput.def xinput1_3/libxinput.a: xinput1_3/xinput1_3.spec $(WINEBUILD)
  2520. +       @cd xinput1_3 && $(MAKE) `basename $@`
  2521. +
  2522. +libd3dx9.a: d3dx9_36/libd3dx9.a
  2523. +       $(RM) $@ && $(LN_S) d3dx9_36/libd3dx9.a $@
  2524. +
  2525. +libd3dx9.def: d3dx9_36/libd3dx9.def
  2526. +       $(RM) $@ && $(LN_S) d3dx9_36/libd3dx9.def $@
  2527. +
  2528. +libwinspool.a: winspool.drv/libwinspool.a
  2529. +       $(RM) $@ && $(LN_S) winspool.drv/libwinspool.a $@
  2530. +
  2531. +libwinspool.def: winspool.drv/libwinspool.def
  2532. +       $(RM) $@ && $(LN_S) winspool.drv/libwinspool.def $@
  2533. +
  2534. +libxinput.a: xinput1_3/libxinput.a
  2535. +       $(RM) $@ && $(LN_S) xinput1_3/libxinput.a $@
  2536. +
  2537. +libxinput.def: xinput1_3/libxinput.def
  2538. +       $(RM) $@ && $(LN_S) xinput1_3/libxinput.def $@
  2539. +
  2540. +$(BUILDSUBDIRS): $(IMPORT_LIBS)
  2541. +$(INSTALLSUBDIRS:%=%/__install__) $(INSTALLSUBDIRS:%=%/__install-lib__): $(IMPORT_LIBS)
  2542. +
  2543. +# Map library name to the corresponding directory
  2544. +
  2545. +adsiid/libadsiid.a: adsiid
  2546. +dxerr8/libdxerr8.a: dxerr8
  2547. +dxerr9/libdxerr9.a: dxerr9
  2548. +dxguid/libdxguid.a: dxguid
  2549. +strmiids/libstrmiids.a: strmiids
  2550. +uuid/libuuid.a: uuid
  2551. +winecrt0/libwinecrt0.a: winecrt0
  2552. +
  2553. +# Misc rules
  2554. +
  2555. +.PHONY: $(WIN16_FILES:%=__install__/%)
  2556. +
  2557. +WIN16_INSTALL = $(WIN16_FILES:%=__install__/%)
  2558. +
  2559. +$(WIN16_FILES:%=__install__/%): $(WIN16_FILES) $(DESTDIR)$(dlldir) dummy
  2560. +       $(INSTALL_DATA) `basename $@` $(DESTDIR)$(dlldir)/`basename $@`
  2561. +
  2562. +install install-lib:: $(WIN16_INSTALL)
  2563. +
  2564. +uninstall::
  2565. +       -cd $(DESTDIR)$(dlldir) && $(RM) $(WIN16_FILES)
  2566. +       -rmdir $(DESTDIR)$(fakedlldir) $(DESTDIR)$(dlldir)
  2567. +
  2568. +clean::
  2569. +       $(RM) $(IMPORT_SYMLINKS) $(WIN16_FILES)
  2570. diff -rupN wine-1.5.19/dlls/ntdll/file.c wine-silverlight-1.5.19/dlls/ntdll/file.c
  2571. --- wine-1.5.19/dlls/ntdll/file.c       2012-12-07 11:17:32.000000000 -0800
  2572. +++ wine-silverlight-1.5.19/dlls/ntdll/file.c   2012-12-20 18:16:39.456236619 -0800
  2573. @@ -93,6 +93,81 @@ mode_t FILE_umask = 0;
  2574.  #define SECS_1601_TO_1970  ((369 * 365 + 89) * (ULONGLONG)SECSPERDAY)
  2575.  
  2576.  
  2577. +static NTSTATUS FILE_CreateFile( PHANDLE handle, ACCESS_MASK access, POBJECT_ATTRIBUTES attr,
  2578. +                                 PIO_STATUS_BLOCK io, PLARGE_INTEGER alloc_size,
  2579. +                                 ULONG attributes, ULONG sharing, ULONG disposition,
  2580. +                                 ULONG options, PVOID ea_buffer, ULONG ea_length );
  2581. +
  2582. +struct security_descriptor *FILE_get_parent_sd(UNICODE_STRING *filenameW)
  2583. +{
  2584. +    SECURITY_INFORMATION info = OWNER_SECURITY_INFORMATION|GROUP_SECURITY_INFORMATION
  2585. +                                |DACL_SECURITY_INFORMATION|SACL_SECURITY_INFORMATION;
  2586. +    PSECURITY_DESCRIPTOR parentsd = NULL;
  2587. +    ACL_SIZE_INFORMATION acl_size;
  2588. +    BOOLEAN present, defaulted;
  2589. +    WCHAR *p, parent[MAX_PATH];
  2590. +    OBJECT_ATTRIBUTES pattr;
  2591. +    UNICODE_STRING parentW;
  2592. +    IO_STATUS_BLOCK io;
  2593. +    NTSTATUS status;
  2594. +    HANDLE hparent;
  2595. +    ULONG n1, n2;
  2596. +    PACL pDacl;
  2597. +    int i;
  2598. +
  2599. +    parentW.Buffer = parent;
  2600. +    parentW.Length = filenameW->Length;
  2601. +    memcpy(parentW.Buffer, filenameW->Buffer, filenameW->Length);
  2602. +    if ((p = strrchrW(parent, '\\')) != NULL)
  2603. +    {
  2604. +        p[0] = 0;
  2605. +        parentW.Length = (p-parent)*sizeof(WCHAR);
  2606. +    }
  2607. +    memset(&pattr, 0x0, sizeof(pattr));
  2608. +    pattr.Length = sizeof(pattr);
  2609. +    pattr.Attributes = OBJ_CASE_INSENSITIVE;
  2610. +    pattr.ObjectName = &parentW;
  2611. +    status = FILE_CreateFile( &hparent, READ_CONTROL|ACCESS_SYSTEM_SECURITY, &pattr, &io, NULL,
  2612. +                              FILE_FLAG_BACKUP_SEMANTICS,
  2613. +                              FILE_SHARE_READ|FILE_SHARE_WRITE|FILE_SHARE_DELETE, FILE_OPEN,
  2614. +                              FILE_OPEN_FOR_BACKUP_INTENT, NULL, 0 );
  2615. +    if (status == STATUS_SUCCESS)
  2616. +        status = NtQuerySecurityObject( hparent, info, NULL, 0, &n1 );
  2617. +    if (status == STATUS_BUFFER_TOO_SMALL && (parentsd = RtlAllocateHeap( GetProcessHeap(), 0, n1 )) != NULL)
  2618. +        status = NtQuerySecurityObject( hparent, info, parentsd, n1, &n2 );
  2619. +    if (status == STATUS_SUCCESS)
  2620. +        status = NtQuerySecurityObject( hparent, info, parentsd, n1, &n2 );
  2621. +    if (hparent != INVALID_HANDLE_VALUE)
  2622. +        NtClose( hparent );
  2623. +    if (status != STATUS_SUCCESS) return NULL;
  2624. +    status = RtlGetDaclSecurityDescriptor(parentsd, &present, &pDacl, &defaulted);
  2625. +    if (status != STATUS_SUCCESS || !present) return NULL;
  2626. +    status = RtlQueryInformationAcl(pDacl, &acl_size, sizeof(acl_size), AclSizeInformation);
  2627. +    if (status != STATUS_SUCCESS) return NULL;
  2628. +
  2629. +    for (i=acl_size.AceCount-1; i>=0; i--)
  2630. +    {
  2631. +        DWORD inheritance_mask = INHERIT_ONLY_ACE|OBJECT_INHERIT_ACE|CONTAINER_INHERIT_ACE;
  2632. +        ACE_HEADER *ace;
  2633. +
  2634. +        status = RtlGetAce(pDacl, i, (VOID **)&ace);
  2635. +        if (status != STATUS_SUCCESS || !(ace->AceFlags & inheritance_mask))
  2636. +        {
  2637. +            RtlDeleteAce(pDacl, i);
  2638. +            acl_size.AceCount--;
  2639. +        }
  2640. +        else
  2641. +            ace->AceFlags = (ace->AceFlags & ~inheritance_mask) | INHERITED_ACE;
  2642. +    }
  2643. +
  2644. +    if (!acl_size.AceCount)
  2645. +    {
  2646. +        return NULL;
  2647. +    }
  2648. +    return parentsd;
  2649. +}
  2650. +
  2651. +
  2652.  /**************************************************************************
  2653.   *                 FILE_CreateFile                    (internal)
  2654.   * Open a file.
  2655. @@ -151,10 +226,18 @@ static NTSTATUS FILE_CreateFile( PHANDLE
  2656.      {
  2657.          struct security_descriptor *sd;
  2658.          struct object_attributes objattr;
  2659. +        PSECURITY_DESCRIPTOR parentsd = NULL, psd;
  2660.  
  2661.          objattr.rootdir = wine_server_obj_handle( attr->RootDirectory );
  2662.          objattr.name_len = 0;
  2663. -        io->u.Status = NTDLL_create_struct_sd( attr->SecurityDescriptor, &sd, &objattr.sd_len );
  2664. +        psd = attr->SecurityDescriptor;
  2665. +        if (!psd && (disposition == FILE_CREATE||disposition == FILE_OVERWRITE_IF))
  2666. +            parentsd = FILE_get_parent_sd( attr->ObjectName );
  2667. +        if (parentsd)
  2668. +            psd = parentsd;
  2669. +        io->u.Status = NTDLL_create_struct_sd( psd, &sd, &objattr.sd_len );
  2670. +        if (parentsd)
  2671. +            RtlFreeHeap( GetProcessHeap(), 0, parentsd );
  2672.          if (io->u.Status != STATUS_SUCCESS)
  2673.          {
  2674.              RtlFreeAnsiString( &unix_name );
  2675. diff -rupN wine-1.5.19/dlls/user32/message.c wine-silverlight-1.5.19/dlls/user32/message.c
  2676. --- wine-1.5.19/dlls/user32/message.c   2012-12-07 11:17:32.000000000 -0800
  2677. +++ wine-silverlight-1.5.19/dlls/user32/message.c       2012-12-20 18:16:39.332911445 -0800
  2678. @@ -4371,12 +4371,17 @@ UINT_PTR WINAPI SetTimer( HWND hwnd, UIN
  2679.  
  2680.      if (proc) winproc = WINPROC_AllocProc( (WNDPROC)proc, FALSE );
  2681.  
  2682. +    if (timeout < USER_TIMER_MINIMUM)
  2683. +        timeout = USER_TIMER_MINIMUM;
  2684. +    else if (timeout > USER_TIMER_MAXIMUM)
  2685. +        timeout = USER_TIMER_MAXIMUM;
  2686. +
  2687.      SERVER_START_REQ( set_win_timer )
  2688.      {
  2689.          req->win    = wine_server_user_handle( hwnd );
  2690.          req->msg    = WM_TIMER;
  2691.          req->id     = id;
  2692. -        req->rate   = max( timeout, SYS_TIMER_RATE );
  2693. +        req->rate   = timeout;
  2694.          req->lparam = (ULONG_PTR)winproc;
  2695.          if (!wine_server_call_err( req ))
  2696.          {
  2697. diff -rupN wine-1.5.19/dlls/winecoreaudio.drv/Makefile wine-silverlight-1.5.19/dlls/winecoreaudio.drv/Makefile
  2698. --- wine-1.5.19/dlls/winecoreaudio.drv/Makefile 1969-12-31 16:00:00.000000000 -0800
  2699. +++ wine-silverlight-1.5.19/dlls/winecoreaudio.drv/Makefile     2012-12-20 18:16:39.399573701 -0800
  2700. @@ -0,0 +1,480 @@
  2701. +TOPSRCDIR = ../..
  2702. +TOPOBJDIR = ../..
  2703. +SRCDIR    = .
  2704. +
  2705. +MODULE    = winecoreaudio.drv
  2706. +IMPORTS   = uuid winmm user32 kernel32
  2707. +EXTRALIBS =
  2708. +
  2709. +C_SRCS = \
  2710. +       audio.c \
  2711. +       audiounit.c \
  2712. +       coreaudio.c \
  2713. +       coremidi.c \
  2714. +       midi.c \
  2715. +       mixer.c
  2716. +
  2717. +# Global rules for building dlls     -*-Makefile-*-
  2718. +#
  2719. +# Each individual makefile should define the following variables:
  2720. +# MODULE       : name of the main module being built
  2721. +# EXTRALIBS    : extra libraries to link in (optional)
  2722. +# SPEC_SRCS16  : interface definition files for 16-bit dlls (optional)
  2723. +#
  2724. +# plus all variables required by the global Make.rules.in
  2725. +#
  2726. +
  2727. +DLLFLAGS    = -D_REENTRANT -fPIC
  2728. +MINGWAR     = i586-mingw32msvc-ar
  2729. +DEFS        = -D__WINESRC__ $(EXTRADEFS)
  2730. +BASEMODULE  = $(MODULE:%.dll=%)
  2731. +MAINSPEC    = $(BASEMODULE).spec
  2732. +SPEC_DEF    = $(BASEMODULE).def
  2733. +WIN16_FILES = $(SPEC_SRCS16:.spec=.spec.o) $(C_SRCS16:.c=.o) $(EXTRA_OBJS16)
  2734. +ALL_OBJS    = $(WIN16_FILES) $(OBJS)
  2735. +ALL_LIBS    = $(LIBPORT) $(EXTRALIBS) $(LDFLAGS) $(LIBS)
  2736. +IMPLIB_OBJS = $(IMPLIB_SRCS:.c=.o)
  2737. +IMPORTLIBFILE = $(IMPORTLIB:%=lib%.def)
  2738. +STATICIMPLIB  = $(IMPORTLIBFILE:.def=.def.a)
  2739. +DLL_LDPATH  = -L$(DLLDIR) $(DELAYIMPORTS:%=-L$(DLLDIR)/%) $(IMPORTS:%=-L$(DLLDIR)/%)
  2740. +INSTALLDIRS = $(DESTDIR)$(dlldir) $(DESTDIR)$(fakedlldir) $(DESTDIR)$(datadir)/wine
  2741. +
  2742. +# Global rules shared by all makefiles     -*-Makefile-*-
  2743. +#
  2744. +# Each individual makefile must define the following variables:
  2745. +# TOPSRCDIR    : top-level source directory
  2746. +# TOPOBJDIR    : top-level object directory
  2747. +# SRCDIR       : source directory for this module
  2748. +# MODULE       : name of the module being built
  2749. +#
  2750. +# Each individual makefile may define the following additional variables:
  2751. +# C_SRCS       : C sources for the module
  2752. +# C_SRCS16     : 16-bit C sources for the module
  2753. +# RC_SRCS      : resource source files
  2754. +# EXTRA_SRCS   : extra source files for make depend
  2755. +# EXTRA_OBJS   : extra object files
  2756. +# IMPORTS      : dlls to import
  2757. +# DELAYIMPORTS : dlls to import in delayed mode
  2758. +# SUBDIRS      : subdirectories that contain a Makefile
  2759. +# EXTRASUBDIRS : subdirectories that do not contain a Makefile
  2760. +# INSTALLSUBDIRS : subdirectories to run make install/uninstall into
  2761. +# MODCFLAGS    : extra CFLAGS for this module
  2762. +
  2763. +# First some useful definitions
  2764. +
  2765. +SHELL     = /bin/sh
  2766. +CC        = ccache gcc -m32
  2767. +CFLAGS    = -g -O2
  2768. +CPPFLAGS  =
  2769. +LIBS      =
  2770. +BISON     = bison
  2771. +FLEX      = flex
  2772. +EXEEXT    =
  2773. +OBJEXT    = o
  2774. +LIBEXT    = so
  2775. +DLLEXT    = .so
  2776. +TOOLSEXT  =
  2777. +IMPLIBEXT = def
  2778. +LDSHARED  = $(CC) -shared $(SONAME:%=-Wl,-soname,%) $(VERSCRIPT:%=-Wl,--version-script=%)
  2779. +DLLTOOL   = i586-mingw32msvc-dlltool
  2780. +DLLWRAP   =
  2781. +AR        = ar
  2782. +ARFLAGS   = rc
  2783. +RANLIB    = ranlib
  2784. +STRIP     = strip
  2785. +LN        = ln
  2786. +LN_S      = ln -s
  2787. +TOOLSDIR  = $(TOPOBJDIR)
  2788. +LDFLAGS   =
  2789. +PRELINK   = /usr/sbin/prelink
  2790. +RM        = rm -f
  2791. +MV        = mv
  2792. +LINT      =
  2793. +LINTFLAGS =
  2794. +FONTFORGE = fontforge
  2795. +RSVG      = false
  2796. +ICOTOOL   = icotool
  2797. +FAKEEXT   = $(DLLEXT:.so=.fake)
  2798. +INCLUDES     = -I$(SRCDIR) -I. -I$(TOPSRCDIR)/include -I$(TOPOBJDIR)/include $(EXTRAINCL)
  2799. +EXTRACFLAGS  = -Wall -pipe -fno-strict-aliasing -Wdeclaration-after-statement -Wstrict-prototypes -Wwrite-strings -Wtype-limits -Wpointer-arith
  2800. +ALLCFLAGS    = $(INCLUDES) $(DEFS) $(DLLFLAGS) $(EXTRACFLAGS) $(CPPFLAGS) $(CFLAGS) $(MODCFLAGS)
  2801. +ALLLINTFLAGS = $(INCLUDES) $(DEFS) $(LINTFLAGS)
  2802. +IDLFLAGS     = $(INCLUDES) $(DEFS) $(EXTRAIDLFLAGS)
  2803. +TARGETFLAGS  = -m32
  2804. +WINEBUILDFLAGS = $(TARGETFLAGS) $(DLLFLAGS)
  2805. +MKINSTALLDIRS= $(TOPSRCDIR)/tools/mkinstalldirs -m 755
  2806. +WINAPI_CHECK = $(TOPSRCDIR)/tools/winapi/winapi_check
  2807. +WINEWRAPPER  = $(TOPSRCDIR)/tools/winewrapper
  2808. +C2MAN        = $(TOPSRCDIR)/tools/c2man.pl
  2809. +RUNTEST      = $(TOPSRCDIR)/tools/runtest
  2810. +WINEBUILD    = $(TOOLSDIR)/tools/winebuild/winebuild$(TOOLSEXT)
  2811. +MAKEDEP      = $(TOOLSDIR)/tools/makedep$(TOOLSEXT)
  2812. +MAKECTESTS   = $(TOOLSDIR)/tools/make_ctests$(TOOLSEXT)
  2813. +WRC          = $(TOOLSDIR)/tools/wrc/wrc$(TOOLSEXT)
  2814. +WMC          = $(TOOLSDIR)/tools/wmc/wmc$(TOOLSEXT)
  2815. +WIDL         = $(TOOLSDIR)/tools/widl/widl$(TOOLSEXT)
  2816. +WINEGCC      = $(TOOLSDIR)/tools/winegcc/winegcc $(TARGETFLAGS) -B$(TOOLSDIR)/tools/winebuild --sysroot=$(TOPOBJDIR)
  2817. +RELPATH      = $(TOOLSDIR)/tools/relpath$(TOOLSEXT)
  2818. +SFNT2FNT     = $(TOOLSDIR)/tools/sfnt2fnt$(TOOLSEXT)
  2819. +RC           = $(WRC)
  2820. +RC16         = $(WRC)
  2821. +RCFLAGS      = --nostdinc $(INCLUDES) $(DEFS) $(EXTRARCFLAGS)
  2822. +RC16FLAGS    = -O res16 $(RCFLAGS)
  2823. +LDPATH       = LD_LIBRARY_PATH="$(TOOLSDIR)/libs/wine:$$LD_LIBRARY_PATH"
  2824. +DLLDIR       = $(TOPOBJDIR)/dlls
  2825. +LIBPORT      = $(TOPOBJDIR)/libs/port/libwine_port.a
  2826. +LIBWPP       = $(TOPOBJDIR)/libs/wpp/libwpp.a
  2827. +LIBWINE      = -L$(TOPOBJDIR)/libs/wine -lwine
  2828. +LDRPATH_INSTALL = -Wl,--rpath,\$$ORIGIN/`$(RELPATH) $(bindir) $(libdir)` -Wl,--enable-new-dtags
  2829. +LDRPATH_LOCAL   = -Wl,--rpath,\$$ORIGIN/$(TOPOBJDIR)/libs/wine
  2830. +
  2831. +
  2832. +
  2833. +# Installation infos
  2834. +
  2835. +INSTALL         = /usr/bin/install -c $(INSTALL_FLAGS)
  2836. +INSTALL_PROGRAM = ${INSTALL} $(INSTALL_PROGRAM_FLAGS)
  2837. +INSTALL_SCRIPT  = ${INSTALL} $(INSTALL_SCRIPT_FLAGS)
  2838. +INSTALL_DATA    = ${INSTALL} -m 644 $(INSTALL_DATA_FLAGS)
  2839. +prefix          = /usr/local
  2840. +exec_prefix     = ${prefix}
  2841. +bindir          = ${exec_prefix}/bin
  2842. +libdir          = ${exec_prefix}/lib
  2843. +datarootdir     = ${prefix}/share
  2844. +datadir         = ${datarootdir}
  2845. +infodir         = ${datarootdir}/info
  2846. +mandir          = ${datarootdir}/man
  2847. +sysconfdir      = ${prefix}/etc
  2848. +includedir      = ${prefix}/include/wine
  2849. +dlldir          = ${exec_prefix}/lib/wine
  2850. +fakedlldir      = $(dlldir)/fakedlls
  2851. +prog_manext     = 1
  2852. +api_manext      = 3w
  2853. +conf_manext     = 5
  2854. +CLEAN_FILES     = *.o *.a *.so *.ln *.res *.fake *.$(LIBEXT) \\\#*\\\# *~ *% .\\\#* *.bak *.orig *.rej *.flc core
  2855. +
  2856. +IDL_GEN_C_SRCS  = $(IDL_C_SRCS:.idl=_c.c) $(IDL_I_SRCS:.idl=_i.c) \
  2857. +                  $(IDL_P_SRCS:.idl=_p.c) $(IDL_S_SRCS:.idl=_s.c)
  2858. +IDL_GEN_HEADERS = $(IDL_H_SRCS:.idl=.h) $(IDL_C_SRCS:.idl=.h) $(IDL_I_SRCS:.idl=.h) \
  2859. +                  $(IDL_P_SRCS:.idl=.h) $(IDL_S_SRCS:.idl=.h)
  2860. +
  2861. +CLEAN_TARGETS = $(IDL_GEN_C_SRCS) $(IDL_GEN_HEADERS) $(IDL_TLB_SRCS:.idl=.tlb) $(IDL_P_SRCS:%=dlldata.c) \
  2862. +                $(BISON_SRCS:.y=.tab.c) $(BISON_SRCS:.y=.tab.h) $(LEX_SRCS:.l=.yy.c) $(MC_SRCS:.mc=.mc.rc)
  2863. +
  2864. +OBJS = $(C_SRCS:.c=.o) $(BISON_SRCS:.y=.tab.o) $(LEX_SRCS:.l=.yy.o) $(IDL_GEN_C_SRCS:.c=.o) \
  2865. +       $(RC_SRCS:.rc=.res) $(MC_SRCS:.mc=.mc.res) $(EXTRA_OBJS)
  2866. +
  2867. +LINTS  = $(C_SRCS:.c=.ln)
  2868. +
  2869. +# 'all' target first in case the enclosing Makefile didn't define any target
  2870. +
  2871. +all:
  2872. +
  2873. +filter: dummy
  2874. +       @$(TOPSRCDIR)/tools/winapi/make_filter --make $(MAKE) all
  2875. +
  2876. +.PHONY: all filter
  2877. +
  2878. +# Implicit rules
  2879. +
  2880. +.SUFFIXES: .mc .rc .mc.rc .res .spec .spec.o .idl .tlb .h .y .l .tab.c .tab.h .yy.c .ok .man.in .man _c.c _i.c _p.c _s.c # .sfd .ttf .svg .ico
  2881. +
  2882. +.c.o:
  2883. +       $(CC) -c $(ALLCFLAGS) -o $@ $<
  2884. +
  2885. +.y.tab.c:
  2886. +       $(BISON) $(BISONFLAGS) -p $*_ -o $@ $<
  2887. +
  2888. +.y.tab.h:
  2889. +       $(BISON) $(BISONFLAGS) -p $*_ -o $*.tab.c -d $<
  2890. +
  2891. +.l.yy.c:
  2892. +       $(FLEX) $(LEXFLAGS) -o$@ $<
  2893. +
  2894. +.mc.mc.rc:
  2895. +       $(LDPATH) $(WMC) -i -U -H /dev/null -o $@ $<
  2896. +
  2897. +.rc.res:
  2898. +       $(LDPATH) $(RC) $(RCFLAGS) -fo$@ $<
  2899. +
  2900. +.spec.spec.o:
  2901. +       $(WINEBUILD) $(WINEBUILDFLAGS) --dll -o $@ --main-module $(MODULE) --export $<
  2902. +
  2903. +.idl.h:
  2904. +       $(WIDL) $(IDLFLAGS) -h -H $@ $<
  2905. +
  2906. +.idl_c.c:
  2907. +       $(WIDL) $(IDLFLAGS) -c -C $@ $<
  2908. +
  2909. +.idl_i.c:
  2910. +       $(WIDL) $(IDLFLAGS) -u -U $@ $<
  2911. +
  2912. +.idl_p.c:
  2913. +       $(WIDL) $(IDLFLAGS) -p -P $@ $<
  2914. +
  2915. +.idl_s.c:
  2916. +       $(WIDL) $(IDLFLAGS) -s -S $@ $<
  2917. +
  2918. +.idl.tlb:
  2919. +       $(WIDL) $(TARGETFLAGS) $(IDLFLAGS) -t -T $@ $<
  2920. +
  2921. +.c.ln:
  2922. +       $(LINT) -c $(ALLLINTFLAGS) $< || ( $(RM) $@ && exit 1 )
  2923. +
  2924. +.c.ok:
  2925. +       $(RUNTEST) $(RUNTESTFLAGS) $< && touch $@
  2926. +
  2927. +.sfd.ttf:
  2928. +       $(FONTFORGE) -script $(TOPSRCDIR)/fonts/genttf.ff $< $@
  2929. +
  2930. +.man.in.man:
  2931. +       LC_ALL=C sed -e 's,@bindir\@,$(bindir),g' -e 's,@dlldir\@,$(dlldir),g' -e 's,@PACKAGE_STRING\@,Wine 1.1.35,g' $< >$@ || ($(RM) $@ && false)
  2932. +
  2933. +.svg.ico:
  2934. +       $(RSVG) -w 16 -h 16 -f png $< $*-16.png
  2935. +       $(RSVG) -w 32 -h 32 -f png $< $*-32.png
  2936. +       $(RSVG) -w 48 -h 48 -f png $< $*-48.png
  2937. +       $(ICOTOOL) -c -o $@ $*-16.png $*-32.png $*-48.png
  2938. +       $(RM) $*-16.png $*-32.png $*-48.png
  2939. +
  2940. +# Rules for IDL files
  2941. +
  2942. +dlldata.c: $(WIDL) Makefile.in
  2943. +       $(WIDL) $(IDLFLAGS) --dlldata-only --dlldata=$@ $(IDL_P_SRCS)
  2944. +
  2945. +# Rule for linting
  2946. +
  2947. +$(MODULE).ln : $(LINTS)
  2948. +       if test "$(LINTS)" ; \
  2949. +       then \
  2950. +               $(LINT) $(ALLLINTFLAGS) -o$(MODULE) $(LINTS) ; \
  2951. +               $(MV) llib-l$(MODULE).ln $(MODULE).ln ; \
  2952. +       else \
  2953. +               $(LINT) $(ALLLINTFLAGS) -C$(MODULE) /dev/null ; \
  2954. +       fi
  2955. +
  2956. +lint:: $(MODULE).ln
  2957. +
  2958. +# Rules for Windows API checking
  2959. +
  2960. +winapi_check:: dummy
  2961. +       $(WINAPI_CHECK) $(WINAPI_CHECK_FLAGS) $(WINAPI_CHECK_EXTRA_FLAGS) .
  2962. +
  2963. +.PHONY: winapi_check
  2964. +
  2965. +# Rules for dependencies
  2966. +
  2967. +DEPEND_SRCS = $(C_SRCS) $(C_SRCS16) $(RC_SRCS) $(RC_SRCS16) $(MC_SRCS) \
  2968. +              $(IDL_H_SRCS) $(IDL_C_SRCS) $(IDL_I_SRCS) $(IDL_P_SRCS) $(IDL_S_SRCS) \
  2969. +              $(IDL_GEN_C_SRCS) $(IDL_TLB_SRCS) $(IDL_TLB_SRCS:.idl=.tlb) \
  2970. +              $(BISON_SRCS) $(LEX_SRCS) $(EXTRA_SRCS)
  2971. +
  2972. +$(SUBDIRS:%=%/__depend__): dummy
  2973. +       @cd `dirname $@` && $(MAKE) depend
  2974. +
  2975. +depend: $(SUBDIRS:%=%/__depend__) dummy
  2976. +       $(MAKEDEP) $(MAKEDEPFLAGS) -C$(SRCDIR) -S$(TOPSRCDIR) -T$(TOPOBJDIR) $(EXTRAINCL) $(DEPEND_SRCS)
  2977. +
  2978. +.PHONY: depend $(SUBDIRS:%=%/__depend__)
  2979. +
  2980. +# Rules for cleaning
  2981. +
  2982. +$(SUBDIRS:%=%/__clean__): dummy
  2983. +       @cd `dirname $@` && $(MAKE) clean
  2984. +
  2985. +$(EXTRASUBDIRS:%=%/__clean__): dummy
  2986. +       -cd `dirname $@` && $(RM) $(CLEAN_FILES)
  2987. +
  2988. +clean:: $(SUBDIRS:%=%/__clean__) $(EXTRASUBDIRS:%=%/__clean__)
  2989. +       $(RM) $(CLEAN_FILES) $(CLEAN_TARGETS) $(PROGRAMS) $(MANPAGES)
  2990. +
  2991. +.PHONY: clean $(SUBDIRS:%=%/__clean__) $(EXTRASUBDIRS:%=%/__clean__)
  2992. +
  2993. +# Rules for installing
  2994. +
  2995. +$(SUBDIRS:%=%/__install__): dummy
  2996. +       @cd `dirname $@` && $(MAKE) install
  2997. +
  2998. +$(SUBDIRS:%=%/__install-lib__): dummy
  2999. +       @cd `dirname $@` && $(MAKE) install-lib
  3000. +
  3001. +$(SUBDIRS:%=%/__install-dev__): dummy
  3002. +       @cd `dirname $@` && $(MAKE) install-dev
  3003. +
  3004. +$(SUBDIRS:%=%/__uninstall__): dummy
  3005. +       @cd `dirname $@` && $(MAKE) uninstall
  3006. +
  3007. +install:: $(INSTALLSUBDIRS:%=%/__install__) dummy
  3008. +install-lib:: $(INSTALLSUBDIRS:%=%/__install-lib__) dummy
  3009. +install-dev:: $(INSTALLSUBDIRS:%=%/__install-dev__) dummy
  3010. +uninstall:: $(INSTALLSUBDIRS:%=%/__uninstall__) dummy
  3011. +
  3012. +$(INSTALLDIRS):
  3013. +       $(MKINSTALLDIRS) $@
  3014. +
  3015. +.PHONY: install install-lib install-dev uninstall \
  3016. +       $(SUBDIRS:%=%/__install__) $(SUBDIRS:%=%/__uninstall__) \
  3017. +       $(SUBDIRS:%=%/__install-lib__) $(SUBDIRS:%=%/__install-dev__)
  3018. +
  3019. +# Rules for testing
  3020. +
  3021. +$(TESTSUBDIRS:%=%/__test__): dummy
  3022. +       @cd `dirname $@` && $(MAKE) test
  3023. +
  3024. +$(TESTSUBDIRS:%=%/__crosstest__): dummy
  3025. +       @cd `dirname $@` && $(MAKE) crosstest
  3026. +
  3027. +$(TESTSUBDIRS:%=%/__testclean__): dummy
  3028. +       @cd `dirname $@` && $(MAKE) testclean
  3029. +
  3030. +check test:: $(TESTSUBDIRS:%=%/__test__) dummy
  3031. +
  3032. +crosstest:: $(TESTSUBDIRS:%=%/__crosstest__) dummy
  3033. +
  3034. +testclean:: $(TESTSUBDIRS:%=%/__testclean__) dummy
  3035. +
  3036. +.PHONY: check test testclean crosstest $(TESTSUBDIRS:%=%/__test__) $(TESTSUBDIRS:%=%/__crosstest__) $(TESTSUBDIRS:%=%/__testclean__)
  3037. +
  3038. +# Rules for auto documentation
  3039. +
  3040. +$(DOCSUBDIRS:%=%/__man__): dummy
  3041. +       @cd `dirname $@` && $(MAKE) man
  3042. +
  3043. +$(DOCSUBDIRS:%=%/__doc_html__): dummy
  3044. +       @cd `dirname $@` && $(MAKE) doc-html
  3045. +
  3046. +$(DOCSUBDIRS:%=%/__doc_sgml__): dummy
  3047. +       @cd `dirname $@` && $(MAKE) doc-sgml
  3048. +
  3049. +$(DOCSUBDIRS:%=%/__doc_xml__): dummy
  3050. +       @cd `dirname $@` && $(MAKE) doc-xml
  3051. +
  3052. +man: $(DOCSUBDIRS:%=%/__man__)
  3053. +doc-html: $(DOCSUBDIRS:%=%/__doc_html__)
  3054. +doc-sgml: $(DOCSUBDIRS:%=%/__doc_sgml__)
  3055. +doc-xml: $(DOCSUBDIRS:%=%/__doc_xml__)
  3056. +
  3057. +.PHONY: man doc-html doc-sgml doc-xml $(DOCSUBDIRS:%=%/__man__) $(DOCSUBDIRS:%=%/__doc_html__) $(DOCSUBDIRS:%=%/__doc_sgml__) $(DOCSUBDIRS:%=%/__doc_xml__)
  3058. +
  3059. +# Misc. rules
  3060. +
  3061. +$(MC_SRCS:.mc=.mc.rc): $(WMC)
  3062. +
  3063. +$(IDL_GEN_HEADERS) $(IDL_GEN_C_SRCS) $(IDL_TLB_SRCS:.idl=.tlb): $(WIDL)
  3064. +
  3065. +$(RC_SRCS:.rc=.res) $(MC_SRCS:.mc=.mc.res) $(RC_SRCS16:.rc=.res): $(WRC)
  3066. +
  3067. +$(SUBDIRS): dummy
  3068. +       @cd $@ && $(MAKE)
  3069. +
  3070. +dummy:
  3071. +
  3072. +.PHONY: dummy $(SUBDIRS)
  3073. +
  3074. +# End of global rules
  3075. +
  3076. +all: $(MODULE)$(DLLEXT) $(MODULE)$(FAKEEXT) $(SUBDIRS)
  3077. +
  3078. +$(MODULE) $(MODULE).so $(MODULE).fake: $(MAINSPEC) $(ALL_OBJS) Makefile.in
  3079. +       $(WINEGCC) -shared $(SRCDIR)/$(MAINSPEC) $(ALL_OBJS) $(EXTRADLLFLAGS) -o $@ $(DELAYIMPORTS:%=-l%) $(IMPORTS:%=-l%) $(DELAYIMPORTS:%=-Wb,-d%) $(ALL_LIBS)
  3080. +
  3081. +# Rules for import libraries
  3082. +
  3083. +.PHONY: implib $(IMPLIB_SRCS:%=__static_implib__%)
  3084. +
  3085. +all implib: $(IMPORTLIBFILE) $(IMPLIB_SRCS:%=__static_implib__%)
  3086. +
  3087. +$(IMPLIB_SRCS:%=__static_implib__%): $(STATICIMPLIB)
  3088. +
  3089. +$(SPEC_DEF) $(IMPORTLIB:%=lib%.def): $(MAINSPEC)
  3090. +       $(WINEBUILD) $(TARGETFLAGS) -w --def -o $@ --export $(SRCDIR)/$(MAINSPEC)
  3091. +
  3092. +$(IMPORTLIB:%=lib%.def.a): $(IMPLIB_OBJS)
  3093. +       $(RM) $@
  3094. +       $(AR) $(ARFLAGS) $@ $(IMPLIB_OBJS)
  3095. +       $(RANLIB) $@
  3096. +
  3097. +$(IMPORTLIB:%=lib%.a): $(SPEC_DEF) $(IMPLIB_OBJS)
  3098. +       $(DLLTOOL) -k -l $@ -d $(SPEC_DEF)
  3099. +       $(MINGWAR) rs $@ $(IMPLIB_OBJS)
  3100. +
  3101. +$(SUBDIRS): implib
  3102. +
  3103. +# Rules for testing
  3104. +
  3105. +check test:: $(SUBDIRS:%=%/__test__) dummy
  3106. +
  3107. +crosstest:: $(SUBDIRS:%=%/__crosstest__) dummy
  3108. +
  3109. +# Rules for auto documentation
  3110. +
  3111. +man: $(C_SRCS) dummy
  3112. +       $(C2MAN) -o $(TOPOBJDIR)/documentation/man$(api_manext) -R$(TOPOBJDIR) -C$(SRCDIR) -S$(api_manext) $(INCLUDES) $(MAINSPEC:%=-w %) $(SPEC_SRCS16:%=-w %) $(C_SRCS) $(C_SRCS16)
  3113. +
  3114. +doc-html: $(C_SRCS) dummy
  3115. +       $(C2MAN) -o $(TOPOBJDIR)/documentation/html -R$(TOPOBJDIR) -C$(SRCDIR) $(INCLUDES) -Th $(MAINSPEC:%=-w %) $(SPEC_SRCS16:%=-w %) $(C_SRCS) $(C_SRCS16)
  3116. +
  3117. +doc-sgml: $(C_SRCS) dummy
  3118. +       $(C2MAN) -o $(TOPOBJDIR)/documentation/api-guide -R$(TOPOBJDIR) -C$(SRCDIR) $(INCLUDES) -Ts $(MAINSPEC:%=-w %) $(SPEC_SRCS16:%=-w %) $(C_SRCS) $(C_SRCS16)
  3119. +
  3120. +doc-xml: $(C_SRCS) dummy
  3121. +       $(C2MAN) -o $(TOPOBJDIR)/documentation/api-guide-xml -R$(TOPOBJDIR) -C$(SRCDIR) $(INCLUDES) -Tx $(MAINSPEC:%=-w %) $(SPEC_SRCS16:%=-w %) $(C_SRCS) $(C_SRCS16)
  3122. +
  3123. +.PHONY: man doc-html doc-sgml doc-xml
  3124. +
  3125. +# Rules for installation
  3126. +
  3127. +.PHONY: install_static_implib_def install_static_implib_a
  3128. +.PHONY: $(IMPORTLIB:%=_install_/%) $(IMPLIB_SRCS:%=_install_static_implib_/%)
  3129. +
  3130. +$(IMPORTLIB:%=_install_/%): $(IMPORTLIBFILE) $(DESTDIR)$(dlldir) dummy
  3131. +       $(INSTALL_DATA) $(IMPORTLIBFILE) $(DESTDIR)$(dlldir)/$(IMPORTLIBFILE)
  3132. +
  3133. +install_static_implib_def: $(STATICIMPLIB) $(DESTDIR)$(dlldir) dummy
  3134. +       $(INSTALL_DATA) $(STATICIMPLIB) $(DESTDIR)$(dlldir)/$(STATICIMPLIB)
  3135. +
  3136. +install_static_implib_a:
  3137. +
  3138. +$(IMPLIB_SRCS:%=_install_static_implib_/%): install_static_implib_$(IMPLIBEXT)
  3139. +
  3140. +.PHONY: install_dll install_dll.so install_dll.fake
  3141. +
  3142. +install_dll: $(MODULE) $(DESTDIR)$(dlldir) dummy
  3143. +       $(INSTALL_PROGRAM) $(MODULE) $(DESTDIR)$(dlldir)/$(MODULE)
  3144. +
  3145. +install_dll.so: $(MODULE).so $(DESTDIR)$(dlldir) dummy
  3146. +       $(INSTALL_PROGRAM) $(MODULE).so $(DESTDIR)$(dlldir)/$(MODULE).so
  3147. +
  3148. +install_dll.fake: $(MODULE).fake $(DESTDIR)$(fakedlldir) dummy
  3149. +       $(INSTALL_DATA) $(MODULE).fake $(DESTDIR)$(fakedlldir)/$(MODULE)
  3150. +
  3151. +install install-lib:: install_dll$(DLLEXT) install_dll$(FAKEEXT)
  3152. +
  3153. +install install-dev:: $(IMPORTLIB:%=_install_/%) $(IMPLIB_SRCS:%=_install_static_implib_/%) dummy
  3154. +
  3155. +uninstall::
  3156. +       -cd $(DESTDIR)$(dlldir) && $(RM) $(MODULE)$(DLLEXT) $(IMPORTLIBFILE) $(STATICIMPLIB)
  3157. +       $(RM) $(DESTDIR)$(fakedlldir)/$(MODULE)
  3158. +
  3159. +# Misc. rules
  3160. +
  3161. +clean::
  3162. +       $(RM) $(SPEC_DEF) $(IMPORTLIBFILE)
  3163. +
  3164. +$(SPEC_DEF) $(SPEC_SRCS16:.spec=.spec.o): $(WINEBUILD)
  3165. +
  3166. +# End of global dll rules
  3167. +
  3168. +### Dependencies:
  3169. +
  3170. +.INIT: Makefile
  3171. +.BEGIN: Makefile
  3172. +.MAKEFILEDEPS:
  3173. +Makefile: dummy
  3174. +       -$(MAKEDEP) $(MAKEDEPFLAGS) -C$(SRCDIR) -S$(TOPSRCDIR) -T$(TOPOBJDIR) $(EXTRAINCL) $(DEPEND_SRCS)
  3175. +
  3176. +$(OBJS) $(C_SRCS16:.c=.o): $(IDL_GEN_HEADERS)
  3177. +$(IDL_GEN_C_SRCS:.c=.o): $(IDL_GEN_C_SRCS)
  3178. +$(RC_SRCS:.rc=.res): $(IDL_TLB_SRCS:.idl=.tlb)
  3179. +$(LEX_SRCS:.l=.yy.o): $(LEX_SRCS:.l=.yy.c)
  3180. +$(BISON_SRCS:.y=.tab.o): $(BISON_SRCS:.y=.tab.c)  # everything below this line is overwritten by make depend
  3181. diff -rupN wine-1.5.19/dlls/winequartz.drv/Makefile wine-silverlight-1.5.19/dlls/winequartz.drv/Makefile
  3182. --- wine-1.5.19/dlls/winequartz.drv/Makefile    1969-12-31 16:00:00.000000000 -0800
  3183. +++ wine-silverlight-1.5.19/dlls/winequartz.drv/Makefile        2012-12-20 18:16:39.222918723 -0800
  3184. @@ -0,0 +1,474 @@
  3185. +TOPSRCDIR = ../..
  3186. +TOPOBJDIR = ../..
  3187. +SRCDIR    = .
  3188. +
  3189. +MODULE    = winequartz.drv
  3190. +IMPORTS   = user32 gdi32 advapi32 kernel32 ntdll
  3191. +
  3192. +C_SRCS = \
  3193. +       quartzdrv_main.c
  3194. +
  3195. +# Global rules for building dlls     -*-Makefile-*-
  3196. +#
  3197. +# Each individual makefile should define the following variables:
  3198. +# MODULE       : name of the main module being built
  3199. +# EXTRALIBS    : extra libraries to link in (optional)
  3200. +# SPEC_SRCS16  : interface definition files for 16-bit dlls (optional)
  3201. +#
  3202. +# plus all variables required by the global Make.rules.in
  3203. +#
  3204. +
  3205. +DLLFLAGS    = -D_REENTRANT -fPIC
  3206. +MINGWAR     = i586-mingw32msvc-ar
  3207. +DEFS        = -D__WINESRC__ $(EXTRADEFS)
  3208. +BASEMODULE  = $(MODULE:%.dll=%)
  3209. +MAINSPEC    = $(BASEMODULE).spec
  3210. +SPEC_DEF    = $(BASEMODULE).def
  3211. +WIN16_FILES = $(SPEC_SRCS16:.spec=.spec.o) $(C_SRCS16:.c=.o) $(EXTRA_OBJS16)
  3212. +ALL_OBJS    = $(WIN16_FILES) $(OBJS)
  3213. +ALL_LIBS    = $(LIBPORT) $(EXTRALIBS) $(LDFLAGS) $(LIBS)
  3214. +IMPLIB_OBJS = $(IMPLIB_SRCS:.c=.o)
  3215. +IMPORTLIBFILE = $(IMPORTLIB:%=lib%.def)
  3216. +STATICIMPLIB  = $(IMPORTLIBFILE:.def=.def.a)
  3217. +DLL_LDPATH  = -L$(DLLDIR) $(DELAYIMPORTS:%=-L$(DLLDIR)/%) $(IMPORTS:%=-L$(DLLDIR)/%)
  3218. +INSTALLDIRS = $(DESTDIR)$(dlldir) $(DESTDIR)$(fakedlldir) $(DESTDIR)$(datadir)/wine
  3219. +
  3220. +# Global rules shared by all makefiles     -*-Makefile-*-
  3221. +#
  3222. +# Each individual makefile must define the following variables:
  3223. +# TOPSRCDIR    : top-level source directory
  3224. +# TOPOBJDIR    : top-level object directory
  3225. +# SRCDIR       : source directory for this module
  3226. +# MODULE       : name of the module being built
  3227. +#
  3228. +# Each individual makefile may define the following additional variables:
  3229. +# C_SRCS       : C sources for the module
  3230. +# C_SRCS16     : 16-bit C sources for the module
  3231. +# RC_SRCS      : resource source files
  3232. +# EXTRA_SRCS   : extra source files for make depend
  3233. +# EXTRA_OBJS   : extra object files
  3234. +# IMPORTS      : dlls to import
  3235. +# DELAYIMPORTS : dlls to import in delayed mode
  3236. +# SUBDIRS      : subdirectories that contain a Makefile
  3237. +# EXTRASUBDIRS : subdirectories that do not contain a Makefile
  3238. +# INSTALLSUBDIRS : subdirectories to run make install/uninstall into
  3239. +# MODCFLAGS    : extra CFLAGS for this module
  3240. +
  3241. +# First some useful definitions
  3242. +
  3243. +SHELL     = /bin/sh
  3244. +CC        = ccache gcc -m32
  3245. +CFLAGS    = -g -O2
  3246. +CPPFLAGS  =
  3247. +LIBS      =
  3248. +BISON     = bison
  3249. +FLEX      = flex
  3250. +EXEEXT    =
  3251. +OBJEXT    = o
  3252. +LIBEXT    = so
  3253. +DLLEXT    = .so
  3254. +TOOLSEXT  =
  3255. +IMPLIBEXT = def
  3256. +LDSHARED  = $(CC) -shared $(SONAME:%=-Wl,-soname,%) $(VERSCRIPT:%=-Wl,--version-script=%)
  3257. +DLLTOOL   = i586-mingw32msvc-dlltool
  3258. +DLLWRAP   =
  3259. +AR        = ar
  3260. +ARFLAGS   = rc
  3261. +RANLIB    = ranlib
  3262. +STRIP     = strip
  3263. +LN        = ln
  3264. +LN_S      = ln -s
  3265. +TOOLSDIR  = $(TOPOBJDIR)
  3266. +LDFLAGS   =
  3267. +PRELINK   = /usr/sbin/prelink
  3268. +RM        = rm -f
  3269. +MV        = mv
  3270. +LINT      =
  3271. +LINTFLAGS =
  3272. +FONTFORGE = fontforge
  3273. +RSVG      = false
  3274. +ICOTOOL   = icotool
  3275. +FAKEEXT   = $(DLLEXT:.so=.fake)
  3276. +INCLUDES     = -I$(SRCDIR) -I. -I$(TOPSRCDIR)/include -I$(TOPOBJDIR)/include $(EXTRAINCL)
  3277. +EXTRACFLAGS  = -Wall -pipe -fno-strict-aliasing -Wdeclaration-after-statement -Wstrict-prototypes -Wwrite-strings -Wtype-limits -Wpointer-arith
  3278. +ALLCFLAGS    = $(INCLUDES) $(DEFS) $(DLLFLAGS) $(EXTRACFLAGS) $(CPPFLAGS) $(CFLAGS) $(MODCFLAGS)
  3279. +ALLLINTFLAGS = $(INCLUDES) $(DEFS) $(LINTFLAGS)
  3280. +IDLFLAGS     = $(INCLUDES) $(DEFS) $(EXTRAIDLFLAGS)
  3281. +TARGETFLAGS  = -m32
  3282. +WINEBUILDFLAGS = $(TARGETFLAGS) $(DLLFLAGS)
  3283. +MKINSTALLDIRS= $(TOPSRCDIR)/tools/mkinstalldirs -m 755
  3284. +WINAPI_CHECK = $(TOPSRCDIR)/tools/winapi/winapi_check
  3285. +WINEWRAPPER  = $(TOPSRCDIR)/tools/winewrapper
  3286. +C2MAN        = $(TOPSRCDIR)/tools/c2man.pl
  3287. +RUNTEST      = $(TOPSRCDIR)/tools/runtest
  3288. +WINEBUILD    = $(TOOLSDIR)/tools/winebuild/winebuild$(TOOLSEXT)
  3289. +MAKEDEP      = $(TOOLSDIR)/tools/makedep$(TOOLSEXT)
  3290. +MAKECTESTS   = $(TOOLSDIR)/tools/make_ctests$(TOOLSEXT)
  3291. +WRC          = $(TOOLSDIR)/tools/wrc/wrc$(TOOLSEXT)
  3292. +WMC          = $(TOOLSDIR)/tools/wmc/wmc$(TOOLSEXT)
  3293. +WIDL         = $(TOOLSDIR)/tools/widl/widl$(TOOLSEXT)
  3294. +WINEGCC      = $(TOOLSDIR)/tools/winegcc/winegcc $(TARGETFLAGS) -B$(TOOLSDIR)/tools/winebuild --sysroot=$(TOPOBJDIR)
  3295. +RELPATH      = $(TOOLSDIR)/tools/relpath$(TOOLSEXT)
  3296. +SFNT2FNT     = $(TOOLSDIR)/tools/sfnt2fnt$(TOOLSEXT)
  3297. +RC           = $(WRC)
  3298. +RC16         = $(WRC)
  3299. +RCFLAGS      = --nostdinc $(INCLUDES) $(DEFS) $(EXTRARCFLAGS)
  3300. +RC16FLAGS    = -O res16 $(RCFLAGS)
  3301. +LDPATH       = LD_LIBRARY_PATH="$(TOOLSDIR)/libs/wine:$$LD_LIBRARY_PATH"
  3302. +DLLDIR       = $(TOPOBJDIR)/dlls
  3303. +LIBPORT      = $(TOPOBJDIR)/libs/port/libwine_port.a
  3304. +LIBWPP       = $(TOPOBJDIR)/libs/wpp/libwpp.a
  3305. +LIBWINE      = -L$(TOPOBJDIR)/libs/wine -lwine
  3306. +LDRPATH_INSTALL = -Wl,--rpath,\$$ORIGIN/`$(RELPATH) $(bindir) $(libdir)` -Wl,--enable-new-dtags
  3307. +LDRPATH_LOCAL   = -Wl,--rpath,\$$ORIGIN/$(TOPOBJDIR)/libs/wine
  3308. +
  3309. +
  3310. +
  3311. +# Installation infos
  3312. +
  3313. +INSTALL         = /usr/bin/install -c $(INSTALL_FLAGS)
  3314. +INSTALL_PROGRAM = ${INSTALL} $(INSTALL_PROGRAM_FLAGS)
  3315. +INSTALL_SCRIPT  = ${INSTALL} $(INSTALL_SCRIPT_FLAGS)
  3316. +INSTALL_DATA    = ${INSTALL} -m 644 $(INSTALL_DATA_FLAGS)
  3317. +prefix          = /usr/local
  3318. +exec_prefix     = ${prefix}
  3319. +bindir          = ${exec_prefix}/bin
  3320. +libdir          = ${exec_prefix}/lib
  3321. +datarootdir     = ${prefix}/share
  3322. +datadir         = ${datarootdir}
  3323. +infodir         = ${datarootdir}/info
  3324. +mandir          = ${datarootdir}/man
  3325. +sysconfdir      = ${prefix}/etc
  3326. +includedir      = ${prefix}/include/wine
  3327. +dlldir          = ${exec_prefix}/lib/wine
  3328. +fakedlldir      = $(dlldir)/fakedlls
  3329. +prog_manext     = 1
  3330. +api_manext      = 3w
  3331. +conf_manext     = 5
  3332. +CLEAN_FILES     = *.o *.a *.so *.ln *.res *.fake *.$(LIBEXT) \\\#*\\\# *~ *% .\\\#* *.bak *.orig *.rej *.flc core
  3333. +
  3334. +IDL_GEN_C_SRCS  = $(IDL_C_SRCS:.idl=_c.c) $(IDL_I_SRCS:.idl=_i.c) \
  3335. +                  $(IDL_P_SRCS:.idl=_p.c) $(IDL_S_SRCS:.idl=_s.c)
  3336. +IDL_GEN_HEADERS = $(IDL_H_SRCS:.idl=.h) $(IDL_C_SRCS:.idl=.h) $(IDL_I_SRCS:.idl=.h) \
  3337. +                  $(IDL_P_SRCS:.idl=.h) $(IDL_S_SRCS:.idl=.h)
  3338. +
  3339. +CLEAN_TARGETS = $(IDL_GEN_C_SRCS) $(IDL_GEN_HEADERS) $(IDL_TLB_SRCS:.idl=.tlb) $(IDL_P_SRCS:%=dlldata.c) \
  3340. +                $(BISON_SRCS:.y=.tab.c) $(BISON_SRCS:.y=.tab.h) $(LEX_SRCS:.l=.yy.c) $(MC_SRCS:.mc=.mc.rc)
  3341. +
  3342. +OBJS = $(C_SRCS:.c=.o) $(BISON_SRCS:.y=.tab.o) $(LEX_SRCS:.l=.yy.o) $(IDL_GEN_C_SRCS:.c=.o) \
  3343. +       $(RC_SRCS:.rc=.res) $(MC_SRCS:.mc=.mc.res) $(EXTRA_OBJS)
  3344. +
  3345. +LINTS  = $(C_SRCS:.c=.ln)
  3346. +
  3347. +# 'all' target first in case the enclosing Makefile didn't define any target
  3348. +
  3349. +all:
  3350. +
  3351. +filter: dummy
  3352. +       @$(TOPSRCDIR)/tools/winapi/make_filter --make $(MAKE) all
  3353. +
  3354. +.PHONY: all filter
  3355. +
  3356. +# Implicit rules
  3357. +
  3358. +.SUFFIXES: .mc .rc .mc.rc .res .spec .spec.o .idl .tlb .h .y .l .tab.c .tab.h .yy.c .ok .man.in .man _c.c _i.c _p.c _s.c # .sfd .ttf .svg .ico
  3359. +
  3360. +.c.o:
  3361. +       $(CC) -c $(ALLCFLAGS) -o $@ $<
  3362. +
  3363. +.y.tab.c:
  3364. +       $(BISON) $(BISONFLAGS) -p $*_ -o $@ $<
  3365. +
  3366. +.y.tab.h:
  3367. +       $(BISON) $(BISONFLAGS) -p $*_ -o $*.tab.c -d $<
  3368. +
  3369. +.l.yy.c:
  3370. +       $(FLEX) $(LEXFLAGS) -o$@ $<
  3371. +
  3372. +.mc.mc.rc:
  3373. +       $(LDPATH) $(WMC) -i -U -H /dev/null -o $@ $<
  3374. +
  3375. +.rc.res:
  3376. +       $(LDPATH) $(RC) $(RCFLAGS) -fo$@ $<
  3377. +
  3378. +.spec.spec.o:
  3379. +       $(WINEBUILD) $(WINEBUILDFLAGS) --dll -o $@ --main-module $(MODULE) --export $<
  3380. +
  3381. +.idl.h:
  3382. +       $(WIDL) $(IDLFLAGS) -h -H $@ $<
  3383. +
  3384. +.idl_c.c:
  3385. +       $(WIDL) $(IDLFLAGS) -c -C $@ $<
  3386. +
  3387. +.idl_i.c:
  3388. +       $(WIDL) $(IDLFLAGS) -u -U $@ $<
  3389. +
  3390. +.idl_p.c:
  3391. +       $(WIDL) $(IDLFLAGS) -p -P $@ $<
  3392. +
  3393. +.idl_s.c:
  3394. +       $(WIDL) $(IDLFLAGS) -s -S $@ $<
  3395. +
  3396. +.idl.tlb:
  3397. +       $(WIDL) $(TARGETFLAGS) $(IDLFLAGS) -t -T $@ $<
  3398. +
  3399. +.c.ln:
  3400. +       $(LINT) -c $(ALLLINTFLAGS) $< || ( $(RM) $@ && exit 1 )
  3401. +
  3402. +.c.ok:
  3403. +       $(RUNTEST) $(RUNTESTFLAGS) $< && touch $@
  3404. +
  3405. +.sfd.ttf:
  3406. +       $(FONTFORGE) -script $(TOPSRCDIR)/fonts/genttf.ff $< $@
  3407. +
  3408. +.man.in.man:
  3409. +       LC_ALL=C sed -e 's,@bindir\@,$(bindir),g' -e 's,@dlldir\@,$(dlldir),g' -e 's,@PACKAGE_STRING\@,Wine 1.1.35,g' $< >$@ || ($(RM) $@ && false)
  3410. +
  3411. +.svg.ico:
  3412. +       $(RSVG) -w 16 -h 16 -f png $< $*-16.png
  3413. +       $(RSVG) -w 32 -h 32 -f png $< $*-32.png
  3414. +       $(RSVG) -w 48 -h 48 -f png $< $*-48.png
  3415. +       $(ICOTOOL) -c -o $@ $*-16.png $*-32.png $*-48.png
  3416. +       $(RM) $*-16.png $*-32.png $*-48.png
  3417. +
  3418. +# Rules for IDL files
  3419. +
  3420. +dlldata.c: $(WIDL) Makefile.in
  3421. +       $(WIDL) $(IDLFLAGS) --dlldata-only --dlldata=$@ $(IDL_P_SRCS)
  3422. +
  3423. +# Rule for linting
  3424. +
  3425. +$(MODULE).ln : $(LINTS)
  3426. +       if test "$(LINTS)" ; \
  3427. +       then \
  3428. +               $(LINT) $(ALLLINTFLAGS) -o$(MODULE) $(LINTS) ; \
  3429. +               $(MV) llib-l$(MODULE).ln $(MODULE).ln ; \
  3430. +       else \
  3431. +               $(LINT) $(ALLLINTFLAGS) -C$(MODULE) /dev/null ; \
  3432. +       fi
  3433. +
  3434. +lint:: $(MODULE).ln
  3435. +
  3436. +# Rules for Windows API checking
  3437. +
  3438. +winapi_check:: dummy
  3439. +       $(WINAPI_CHECK) $(WINAPI_CHECK_FLAGS) $(WINAPI_CHECK_EXTRA_FLAGS) .
  3440. +
  3441. +.PHONY: winapi_check
  3442. +
  3443. +# Rules for dependencies
  3444. +
  3445. +DEPEND_SRCS = $(C_SRCS) $(C_SRCS16) $(RC_SRCS) $(RC_SRCS16) $(MC_SRCS) \
  3446. +              $(IDL_H_SRCS) $(IDL_C_SRCS) $(IDL_I_SRCS) $(IDL_P_SRCS) $(IDL_S_SRCS) \
  3447. +              $(IDL_GEN_C_SRCS) $(IDL_TLB_SRCS) $(IDL_TLB_SRCS:.idl=.tlb) \
  3448. +              $(BISON_SRCS) $(LEX_SRCS) $(EXTRA_SRCS)
  3449. +
  3450. +$(SUBDIRS:%=%/__depend__): dummy
  3451. +       @cd `dirname $@` && $(MAKE) depend
  3452. +
  3453. +depend: $(SUBDIRS:%=%/__depend__) dummy
  3454. +       $(MAKEDEP) $(MAKEDEPFLAGS) -C$(SRCDIR) -S$(TOPSRCDIR) -T$(TOPOBJDIR) $(EXTRAINCL) $(DEPEND_SRCS)
  3455. +
  3456. +.PHONY: depend $(SUBDIRS:%=%/__depend__)
  3457. +
  3458. +# Rules for cleaning
  3459. +
  3460. +$(SUBDIRS:%=%/__clean__): dummy
  3461. +       @cd `dirname $@` && $(MAKE) clean
  3462. +
  3463. +$(EXTRASUBDIRS:%=%/__clean__): dummy
  3464. +       -cd `dirname $@` && $(RM) $(CLEAN_FILES)
  3465. +
  3466. +clean:: $(SUBDIRS:%=%/__clean__) $(EXTRASUBDIRS:%=%/__clean__)
  3467. +       $(RM) $(CLEAN_FILES) $(CLEAN_TARGETS) $(PROGRAMS) $(MANPAGES)
  3468. +
  3469. +.PHONY: clean $(SUBDIRS:%=%/__clean__) $(EXTRASUBDIRS:%=%/__clean__)
  3470. +
  3471. +# Rules for installing
  3472. +
  3473. +$(SUBDIRS:%=%/__install__): dummy
  3474. +       @cd `dirname $@` && $(MAKE) install
  3475. +
  3476. +$(SUBDIRS:%=%/__install-lib__): dummy
  3477. +       @cd `dirname $@` && $(MAKE) install-lib
  3478. +
  3479. +$(SUBDIRS:%=%/__install-dev__): dummy
  3480. +       @cd `dirname $@` && $(MAKE) install-dev
  3481. +
  3482. +$(SUBDIRS:%=%/__uninstall__): dummy
  3483. +       @cd `dirname $@` && $(MAKE) uninstall
  3484. +
  3485. +install:: $(INSTALLSUBDIRS:%=%/__install__) dummy
  3486. +install-lib:: $(INSTALLSUBDIRS:%=%/__install-lib__) dummy
  3487. +install-dev:: $(INSTALLSUBDIRS:%=%/__install-dev__) dummy
  3488. +uninstall:: $(INSTALLSUBDIRS:%=%/__uninstall__) dummy
  3489. +
  3490. +$(INSTALLDIRS):
  3491. +       $(MKINSTALLDIRS) $@
  3492. +
  3493. +.PHONY: install install-lib install-dev uninstall \
  3494. +       $(SUBDIRS:%=%/__install__) $(SUBDIRS:%=%/__uninstall__) \
  3495. +       $(SUBDIRS:%=%/__install-lib__) $(SUBDIRS:%=%/__install-dev__)
  3496. +
  3497. +# Rules for testing
  3498. +
  3499. +$(TESTSUBDIRS:%=%/__test__): dummy
  3500. +       @cd `dirname $@` && $(MAKE) test
  3501. +
  3502. +$(TESTSUBDIRS:%=%/__crosstest__): dummy
  3503. +       @cd `dirname $@` && $(MAKE) crosstest
  3504. +
  3505. +$(TESTSUBDIRS:%=%/__testclean__): dummy
  3506. +       @cd `dirname $@` && $(MAKE) testclean
  3507. +
  3508. +check test:: $(TESTSUBDIRS:%=%/__test__) dummy
  3509. +
  3510. +crosstest:: $(TESTSUBDIRS:%=%/__crosstest__) dummy
  3511. +
  3512. +testclean:: $(TESTSUBDIRS:%=%/__testclean__) dummy
  3513. +
  3514. +.PHONY: check test testclean crosstest $(TESTSUBDIRS:%=%/__test__) $(TESTSUBDIRS:%=%/__crosstest__) $(TESTSUBDIRS:%=%/__testclean__)
  3515. +
  3516. +# Rules for auto documentation
  3517. +
  3518. +$(DOCSUBDIRS:%=%/__man__): dummy
  3519. +       @cd `dirname $@` && $(MAKE) man
  3520. +
  3521. +$(DOCSUBDIRS:%=%/__doc_html__): dummy
  3522. +       @cd `dirname $@` && $(MAKE) doc-html
  3523. +
  3524. +$(DOCSUBDIRS:%=%/__doc_sgml__): dummy
  3525. +       @cd `dirname $@` && $(MAKE) doc-sgml
  3526. +
  3527. +$(DOCSUBDIRS:%=%/__doc_xml__): dummy
  3528. +       @cd `dirname $@` && $(MAKE) doc-xml
  3529. +
  3530. +man: $(DOCSUBDIRS:%=%/__man__)
  3531. +doc-html: $(DOCSUBDIRS:%=%/__doc_html__)
  3532. +doc-sgml: $(DOCSUBDIRS:%=%/__doc_sgml__)
  3533. +doc-xml: $(DOCSUBDIRS:%=%/__doc_xml__)
  3534. +
  3535. +.PHONY: man doc-html doc-sgml doc-xml $(DOCSUBDIRS:%=%/__man__) $(DOCSUBDIRS:%=%/__doc_html__) $(DOCSUBDIRS:%=%/__doc_sgml__) $(DOCSUBDIRS:%=%/__doc_xml__)
  3536. +
  3537. +# Misc. rules
  3538. +
  3539. +$(MC_SRCS:.mc=.mc.rc): $(WMC)
  3540. +
  3541. +$(IDL_GEN_HEADERS) $(IDL_GEN_C_SRCS) $(IDL_TLB_SRCS:.idl=.tlb): $(WIDL)
  3542. +
  3543. +$(RC_SRCS:.rc=.res) $(MC_SRCS:.mc=.mc.res) $(RC_SRCS16:.rc=.res): $(WRC)
  3544. +
  3545. +$(SUBDIRS): dummy
  3546. +       @cd $@ && $(MAKE)
  3547. +
  3548. +dummy:
  3549. +
  3550. +.PHONY: dummy $(SUBDIRS)
  3551. +
  3552. +# End of global rules
  3553. +
  3554. +all: $(MODULE)$(DLLEXT) $(MODULE)$(FAKEEXT) $(SUBDIRS)
  3555. +
  3556. +$(MODULE) $(MODULE).so $(MODULE).fake: $(MAINSPEC) $(ALL_OBJS) Makefile.in
  3557. +       $(WINEGCC) -shared $(SRCDIR)/$(MAINSPEC) $(ALL_OBJS) $(EXTRADLLFLAGS) -o $@ $(DELAYIMPORTS:%=-l%) $(IMPORTS:%=-l%) $(DELAYIMPORTS:%=-Wb,-d%) $(ALL_LIBS)
  3558. +
  3559. +# Rules for import libraries
  3560. +
  3561. +.PHONY: implib $(IMPLIB_SRCS:%=__static_implib__%)
  3562. +
  3563. +all implib: $(IMPORTLIBFILE) $(IMPLIB_SRCS:%=__static_implib__%)
  3564. +
  3565. +$(IMPLIB_SRCS:%=__static_implib__%): $(STATICIMPLIB)
  3566. +
  3567. +$(SPEC_DEF) $(IMPORTLIB:%=lib%.def): $(MAINSPEC)
  3568. +       $(WINEBUILD) $(TARGETFLAGS) -w --def -o $@ --export $(SRCDIR)/$(MAINSPEC)
  3569. +
  3570. +$(IMPORTLIB:%=lib%.def.a): $(IMPLIB_OBJS)
  3571. +       $(RM) $@
  3572. +       $(AR) $(ARFLAGS) $@ $(IMPLIB_OBJS)
  3573. +       $(RANLIB) $@
  3574. +
  3575. +$(IMPORTLIB:%=lib%.a): $(SPEC_DEF) $(IMPLIB_OBJS)
  3576. +       $(DLLTOOL) -k -l $@ -d $(SPEC_DEF)
  3577. +       $(MINGWAR) rs $@ $(IMPLIB_OBJS)
  3578. +
  3579. +$(SUBDIRS): implib
  3580. +
  3581. +# Rules for testing
  3582. +
  3583. +check test:: $(SUBDIRS:%=%/__test__) dummy
  3584. +
  3585. +crosstest:: $(SUBDIRS:%=%/__crosstest__) dummy
  3586. +
  3587. +# Rules for auto documentation
  3588. +
  3589. +man: $(C_SRCS) dummy
  3590. +       $(C2MAN) -o $(TOPOBJDIR)/documentation/man$(api_manext) -R$(TOPOBJDIR) -C$(SRCDIR) -S$(api_manext) $(INCLUDES) $(MAINSPEC:%=-w %) $(SPEC_SRCS16:%=-w %) $(C_SRCS) $(C_SRCS16)
  3591. +
  3592. +doc-html: $(C_SRCS) dummy
  3593. +       $(C2MAN) -o $(TOPOBJDIR)/documentation/html -R$(TOPOBJDIR) -C$(SRCDIR) $(INCLUDES) -Th $(MAINSPEC:%=-w %) $(SPEC_SRCS16:%=-w %) $(C_SRCS) $(C_SRCS16)
  3594. +
  3595. +doc-sgml: $(C_SRCS) dummy
  3596. +       $(C2MAN) -o $(TOPOBJDIR)/documentation/api-guide -R$(TOPOBJDIR) -C$(SRCDIR) $(INCLUDES) -Ts $(MAINSPEC:%=-w %) $(SPEC_SRCS16:%=-w %) $(C_SRCS) $(C_SRCS16)
  3597. +
  3598. +doc-xml: $(C_SRCS) dummy
  3599. +       $(C2MAN) -o $(TOPOBJDIR)/documentation/api-guide-xml -R$(TOPOBJDIR) -C$(SRCDIR) $(INCLUDES) -Tx $(MAINSPEC:%=-w %) $(SPEC_SRCS16:%=-w %) $(C_SRCS) $(C_SRCS16)
  3600. +
  3601. +.PHONY: man doc-html doc-sgml doc-xml
  3602. +
  3603. +# Rules for installation
  3604. +
  3605. +.PHONY: install_static_implib_def install_static_implib_a
  3606. +.PHONY: $(IMPORTLIB:%=_install_/%) $(IMPLIB_SRCS:%=_install_static_implib_/%)
  3607. +
  3608. +$(IMPORTLIB:%=_install_/%): $(IMPORTLIBFILE) $(DESTDIR)$(dlldir) dummy
  3609. +       $(INSTALL_DATA) $(IMPORTLIBFILE) $(DESTDIR)$(dlldir)/$(IMPORTLIBFILE)
  3610. +
  3611. +install_static_implib_def: $(STATICIMPLIB) $(DESTDIR)$(dlldir) dummy
  3612. +       $(INSTALL_DATA) $(STATICIMPLIB) $(DESTDIR)$(dlldir)/$(STATICIMPLIB)
  3613. +
  3614. +install_static_implib_a:
  3615. +
  3616. +$(IMPLIB_SRCS:%=_install_static_implib_/%): install_static_implib_$(IMPLIBEXT)
  3617. +
  3618. +.PHONY: install_dll install_dll.so install_dll.fake
  3619. +
  3620. +install_dll: $(MODULE) $(DESTDIR)$(dlldir) dummy
  3621. +       $(INSTALL_PROGRAM) $(MODULE) $(DESTDIR)$(dlldir)/$(MODULE)
  3622. +
  3623. +install_dll.so: $(MODULE).so $(DESTDIR)$(dlldir) dummy
  3624. +       $(INSTALL_PROGRAM) $(MODULE).so $(DESTDIR)$(dlldir)/$(MODULE).so
  3625. +
  3626. +install_dll.fake: $(MODULE).fake $(DESTDIR)$(fakedlldir) dummy
  3627. +       $(INSTALL_DATA) $(MODULE).fake $(DESTDIR)$(fakedlldir)/$(MODULE)
  3628. +
  3629. +install install-lib:: install_dll$(DLLEXT) install_dll$(FAKEEXT)
  3630. +
  3631. +install install-dev:: $(IMPORTLIB:%=_install_/%) $(IMPLIB_SRCS:%=_install_static_implib_/%) dummy
  3632. +
  3633. +uninstall::
  3634. +       -cd $(DESTDIR)$(dlldir) && $(RM) $(MODULE)$(DLLEXT) $(IMPORTLIBFILE) $(STATICIMPLIB)
  3635. +       $(RM) $(DESTDIR)$(fakedlldir)/$(MODULE)
  3636. +
  3637. +# Misc. rules
  3638. +
  3639. +clean::
  3640. +       $(RM) $(SPEC_DEF) $(IMPORTLIBFILE)
  3641. +
  3642. +$(SPEC_DEF) $(SPEC_SRCS16:.spec=.spec.o): $(WINEBUILD)
  3643. +
  3644. +# End of global dll rules
  3645. +
  3646. +### Dependencies:
  3647. +
  3648. +.INIT: Makefile
  3649. +.BEGIN: Makefile
  3650. +.MAKEFILEDEPS:
  3651. +Makefile: dummy
  3652. +       -$(MAKEDEP) $(MAKEDEPFLAGS) -C$(SRCDIR) -S$(TOPSRCDIR) -T$(TOPOBJDIR) $(EXTRAINCL) $(DEPEND_SRCS)
  3653. +
  3654. +$(OBJS) $(C_SRCS16:.c=.o): $(IDL_GEN_HEADERS)
  3655. +$(IDL_GEN_C_SRCS:.c=.o): $(IDL_GEN_C_SRCS)
  3656. +$(RC_SRCS:.rc=.res): $(IDL_TLB_SRCS:.idl=.tlb)
  3657. +$(LEX_SRCS:.l=.yy.o): $(LEX_SRCS:.l=.yy.c)
  3658. +$(BISON_SRCS:.y=.tab.o): $(BISON_SRCS:.y=.tab.c)  # everything below this line is overwritten by make depend
  3659. diff -rupN wine-1.5.19/dlls/ws2_32/socket.c wine-silverlight-1.5.19/dlls/ws2_32/socket.c
  3660. --- wine-1.5.19/dlls/ws2_32/socket.c    2012-12-07 11:17:32.000000000 -0800
  3661. +++ wine-silverlight-1.5.19/dlls/ws2_32/socket.c        2012-12-20 18:16:39.409573040 -0800
  3662. @@ -3386,10 +3386,18 @@ INT WINAPI WSAIoctl(SOCKET s, DWORD code
  3663.         }
  3664.  
  3665.     case WS_SIO_ADDRESS_LIST_CHANGE:
  3666. -       FIXME("-> SIO_ADDRESS_LIST_CHANGE request: stub\n");
  3667. -       /* FIXME: error and return code depend on whether socket was created
  3668. -        * with WSA_FLAG_OVERLAPPED, but there is no easy way to get this */
  3669. +   {
  3670. +       HANDLE handle;
  3671. +
  3672. +       TRACE("-> SIO_ADDRESS_LIST_CHANGE request\n");
  3673. +
  3674. +       if (overlapped || _is_blocking(s))
  3675. +           status = NotifyAddrChange(&handle, overlapped);
  3676. +       else
  3677. +           status = WSAEWOULDBLOCK;
  3678. +       overlapped = NULL; /* managed by NotifyAddrChange */
  3679.         break;
  3680. +   }
  3681.  
  3682.     case WS_SIO_ADDRESS_LIST_QUERY:
  3683.     {
  3684. diff -rupN wine-1.5.19/include/config.h.in wine-silverlight-1.5.19/include/config.h.in
  3685. --- wine-1.5.19/include/config.h.in     2012-12-07 11:17:32.000000000 -0800
  3686. +++ wine-silverlight-1.5.19/include/config.h.in 2012-12-20 18:16:39.672888950 -0800
  3687. @@ -34,6 +34,9 @@
  3688.  /* Define to 1 if you have the <asm/types.h> header file. */
  3689.  #undef HAVE_ASM_TYPES_H
  3690.  
  3691. +/* Define to 1 if you have the <attr/xattr.h> header file. */
  3692. +#undef HAVE_ATTR_XATTR_H
  3693. +
  3694.  /* Define to 1 if you have the <AudioToolbox/AudioConverter.h> header file. */
  3695.  #undef HAVE_AUDIOTOOLBOX_AUDIOCONVERTER_H
  3696.  
  3697. @@ -1337,11 +1340,6 @@
  3698.  /* Define to 1 if the X Window System is missing or not being used. */
  3699.  #undef X_DISPLAY_MISSING
  3700.  
  3701. -/* Enable large inode numbers on Mac OS X 10.5.  */
  3702. -#ifndef _DARWIN_USE_64_BIT_INODE
  3703. -# define _DARWIN_USE_64_BIT_INODE 1
  3704. -#endif
  3705. -
  3706.  /* Number of bits in a file offset, on hosts where this is settable. */
  3707.  #undef _FILE_OFFSET_BITS
  3708.  
  3709. diff -rupN wine-1.5.19/include/winuser.h wine-silverlight-1.5.19/include/winuser.h
  3710. --- wine-1.5.19/include/winuser.h       2012-12-07 11:17:32.000000000 -0800
  3711. +++ wine-silverlight-1.5.19/include/winuser.h   2012-12-20 18:16:39.629558484 -0800
  3712. @@ -2521,6 +2521,10 @@ typedef struct tagMINIMIZEDMETRICS {
  3713.  #define PM_QS_PAINT       (QS_PAINT << 16)
  3714.  #define PM_QS_SENDMESSAGE (QS_SENDMESSAGE << 16)
  3715.  
  3716. +/* SetTimer() limits */
  3717. +#define USER_TIMER_MINIMUM 0x0000000A
  3718. +#define USER_TIMER_MAXIMUM 0x7FFFFFFF
  3719. +
  3720.  /* AnimateWindow() flags */
  3721.  #define AW_SLIDE        0x00040000
  3722.  #define AW_ACTIVATE     0x00020000
  3723. diff -rupN wine-1.5.19/libs/Makefile wine-silverlight-1.5.19/libs/Makefile
  3724. --- wine-1.5.19/libs/Makefile   1969-12-31 16:00:00.000000000 -0800
  3725. +++ wine-silverlight-1.5.19/libs/Makefile       2012-12-20 18:16:39.702886965 -0800
  3726. @@ -0,0 +1,353 @@
  3727. +TOPSRCDIR = ..
  3728. +TOPOBJDIR = ..
  3729. +SRCDIR    = .
  3730. +
  3731. +MODULE    = none
  3732. +
  3733. +SUBDIRS = \
  3734. +       port \
  3735. +       wine \
  3736. +       wpp
  3737. +
  3738. +INSTALLSUBDIRS = \
  3739. +       wine
  3740. +
  3741. +# Global rules shared by all makefiles     -*-Makefile-*-
  3742. +#
  3743. +# Each individual makefile must define the following variables:
  3744. +# TOPSRCDIR    : top-level source directory
  3745. +# TOPOBJDIR    : top-level object directory
  3746. +# SRCDIR       : source directory for this module
  3747. +# MODULE       : name of the module being built
  3748. +#
  3749. +# Each individual makefile may define the following additional variables:
  3750. +# C_SRCS       : C sources for the module
  3751. +# C_SRCS16     : 16-bit C sources for the module
  3752. +# RC_SRCS      : resource source files
  3753. +# EXTRA_SRCS   : extra source files for make depend
  3754. +# EXTRA_OBJS   : extra object files
  3755. +# IMPORTS      : dlls to import
  3756. +# DELAYIMPORTS : dlls to import in delayed mode
  3757. +# SUBDIRS      : subdirectories that contain a Makefile
  3758. +# EXTRASUBDIRS : subdirectories that do not contain a Makefile
  3759. +# INSTALLSUBDIRS : subdirectories to run make install/uninstall into
  3760. +# MODCFLAGS    : extra CFLAGS for this module
  3761. +
  3762. +# First some useful definitions
  3763. +
  3764. +SHELL     = /bin/sh
  3765. +CC        = ccache gcc -m32
  3766. +CFLAGS    = -g -O2
  3767. +CPPFLAGS  =
  3768. +LIBS      =
  3769. +BISON     = bison
  3770. +FLEX      = flex
  3771. +EXEEXT    =
  3772. +OBJEXT    = o
  3773. +LIBEXT    = so
  3774. +DLLEXT    = .so
  3775. +TOOLSEXT  =
  3776. +IMPLIBEXT = def
  3777. +LDSHARED  = $(CC) -shared $(SONAME:%=-Wl,-soname,%) $(VERSCRIPT:%=-Wl,--version-script=%)
  3778. +DLLTOOL   = i586-mingw32msvc-dlltool
  3779. +DLLWRAP   =
  3780. +AR        = ar
  3781. +ARFLAGS   = rc
  3782. +RANLIB    = ranlib
  3783. +STRIP     = strip
  3784. +LN        = ln
  3785. +LN_S      = ln -s
  3786. +TOOLSDIR  = $(TOPOBJDIR)
  3787. +LDFLAGS   =
  3788. +PRELINK   = /usr/sbin/prelink
  3789. +RM        = rm -f
  3790. +MV        = mv
  3791. +LINT      =
  3792. +LINTFLAGS =
  3793. +FONTFORGE = fontforge
  3794. +RSVG      = false
  3795. +ICOTOOL   = icotool
  3796. +FAKEEXT   = $(DLLEXT:.so=.fake)
  3797. +INCLUDES     = -I$(SRCDIR) -I. -I$(TOPSRCDIR)/include -I$(TOPOBJDIR)/include $(EXTRAINCL)
  3798. +EXTRACFLAGS  = -Wall -pipe -fno-strict-aliasing -Wdeclaration-after-statement -Wstrict-prototypes -Wwrite-strings -Wtype-limits -Wpointer-arith
  3799. +ALLCFLAGS    = $(INCLUDES) $(DEFS) $(DLLFLAGS) $(EXTRACFLAGS) $(CPPFLAGS) $(CFLAGS) $(MODCFLAGS)
  3800. +ALLLINTFLAGS = $(INCLUDES) $(DEFS) $(LINTFLAGS)
  3801. +IDLFLAGS     = $(INCLUDES) $(DEFS) $(EXTRAIDLFLAGS)
  3802. +TARGETFLAGS  = -m32
  3803. +WINEBUILDFLAGS = $(TARGETFLAGS) $(DLLFLAGS)
  3804. +MKINSTALLDIRS= $(TOPSRCDIR)/tools/mkinstalldirs -m 755
  3805. +WINAPI_CHECK = $(TOPSRCDIR)/tools/winapi/winapi_check
  3806. +WINEWRAPPER  = $(TOPSRCDIR)/tools/winewrapper
  3807. +C2MAN        = $(TOPSRCDIR)/tools/c2man.pl
  3808. +RUNTEST      = $(TOPSRCDIR)/tools/runtest
  3809. +WINEBUILD    = $(TOOLSDIR)/tools/winebuild/winebuild$(TOOLSEXT)
  3810. +MAKEDEP      = $(TOOLSDIR)/tools/makedep$(TOOLSEXT)
  3811. +MAKECTESTS   = $(TOOLSDIR)/tools/make_ctests$(TOOLSEXT)
  3812. +WRC          = $(TOOLSDIR)/tools/wrc/wrc$(TOOLSEXT)
  3813. +WMC          = $(TOOLSDIR)/tools/wmc/wmc$(TOOLSEXT)
  3814. +WIDL         = $(TOOLSDIR)/tools/widl/widl$(TOOLSEXT)
  3815. +WINEGCC      = $(TOOLSDIR)/tools/winegcc/winegcc $(TARGETFLAGS) -B$(TOOLSDIR)/tools/winebuild --sysroot=$(TOPOBJDIR)
  3816. +RELPATH      = $(TOOLSDIR)/tools/relpath$(TOOLSEXT)
  3817. +SFNT2FNT     = $(TOOLSDIR)/tools/sfnt2fnt$(TOOLSEXT)
  3818. +RC           = $(WRC)
  3819. +RC16         = $(WRC)
  3820. +RCFLAGS      = --nostdinc $(INCLUDES) $(DEFS) $(EXTRARCFLAGS)
  3821. +RC16FLAGS    = -O res16 $(RCFLAGS)
  3822. +LDPATH       = LD_LIBRARY_PATH="$(TOOLSDIR)/libs/wine:$$LD_LIBRARY_PATH"
  3823. +DLLDIR       = $(TOPOBJDIR)/dlls
  3824. +LIBPORT      = $(TOPOBJDIR)/libs/port/libwine_port.a
  3825. +LIBWPP       = $(TOPOBJDIR)/libs/wpp/libwpp.a
  3826. +LIBWINE      = -L$(TOPOBJDIR)/libs/wine -lwine
  3827. +LDRPATH_INSTALL = -Wl,--rpath,\$$ORIGIN/`$(RELPATH) $(bindir) $(libdir)` -Wl,--enable-new-dtags
  3828. +LDRPATH_LOCAL   = -Wl,--rpath,\$$ORIGIN/$(TOPOBJDIR)/libs/wine
  3829. +
  3830. +
  3831. +
  3832. +# Installation infos
  3833. +
  3834. +INSTALL         = /usr/bin/install -c $(INSTALL_FLAGS)
  3835. +INSTALL_PROGRAM = ${INSTALL} $(INSTALL_PROGRAM_FLAGS)
  3836. +INSTALL_SCRIPT  = ${INSTALL} $(INSTALL_SCRIPT_FLAGS)
  3837. +INSTALL_DATA    = ${INSTALL} -m 644 $(INSTALL_DATA_FLAGS)
  3838. +prefix          = /usr/local
  3839. +exec_prefix     = ${prefix}
  3840. +bindir          = ${exec_prefix}/bin
  3841. +libdir          = ${exec_prefix}/lib
  3842. +datarootdir     = ${prefix}/share
  3843. +datadir         = ${datarootdir}
  3844. +infodir         = ${datarootdir}/info
  3845. +mandir          = ${datarootdir}/man
  3846. +sysconfdir      = ${prefix}/etc
  3847. +includedir      = ${prefix}/include/wine
  3848. +dlldir          = ${exec_prefix}/lib/wine
  3849. +fakedlldir      = $(dlldir)/fakedlls
  3850. +prog_manext     = 1
  3851. +api_manext      = 3w
  3852. +conf_manext     = 5
  3853. +CLEAN_FILES     = *.o *.a *.so *.ln *.res *.fake *.$(LIBEXT) \\\#*\\\# *~ *% .\\\#* *.bak *.orig *.rej *.flc core
  3854. +
  3855. +IDL_GEN_C_SRCS  = $(IDL_C_SRCS:.idl=_c.c) $(IDL_I_SRCS:.idl=_i.c) \
  3856. +                  $(IDL_P_SRCS:.idl=_p.c) $(IDL_S_SRCS:.idl=_s.c)
  3857. +IDL_GEN_HEADERS = $(IDL_H_SRCS:.idl=.h) $(IDL_C_SRCS:.idl=.h) $(IDL_I_SRCS:.idl=.h) \
  3858. +                  $(IDL_P_SRCS:.idl=.h) $(IDL_S_SRCS:.idl=.h)
  3859. +
  3860. +CLEAN_TARGETS = $(IDL_GEN_C_SRCS) $(IDL_GEN_HEADERS) $(IDL_TLB_SRCS:.idl=.tlb) $(IDL_P_SRCS:%=dlldata.c) \
  3861. +                $(BISON_SRCS:.y=.tab.c) $(BISON_SRCS:.y=.tab.h) $(LEX_SRCS:.l=.yy.c) $(MC_SRCS:.mc=.mc.rc)
  3862. +
  3863. +OBJS = $(C_SRCS:.c=.o) $(BISON_SRCS:.y=.tab.o) $(LEX_SRCS:.l=.yy.o) $(IDL_GEN_C_SRCS:.c=.o) \
  3864. +       $(RC_SRCS:.rc=.res) $(MC_SRCS:.mc=.mc.res) $(EXTRA_OBJS)
  3865. +
  3866. +LINTS  = $(C_SRCS:.c=.ln)
  3867. +
  3868. +# 'all' target first in case the enclosing Makefile didn't define any target
  3869. +
  3870. +all:
  3871. +
  3872. +filter: dummy
  3873. +       @$(TOPSRCDIR)/tools/winapi/make_filter --make $(MAKE) all
  3874. +
  3875. +.PHONY: all filter
  3876. +
  3877. +# Implicit rules
  3878. +
  3879. +.SUFFIXES: .mc .rc .mc.rc .res .spec .spec.o .idl .tlb .h .y .l .tab.c .tab.h .yy.c .ok .man.in .man _c.c _i.c _p.c _s.c # .sfd .ttf .svg .ico
  3880. +
  3881. +.c.o:
  3882. +       $(CC) -c $(ALLCFLAGS) -o $@ $<
  3883. +
  3884. +.y.tab.c:
  3885. +       $(BISON) $(BISONFLAGS) -p $*_ -o $@ $<
  3886. +
  3887. +.y.tab.h:
  3888. +       $(BISON) $(BISONFLAGS) -p $*_ -o $*.tab.c -d $<
  3889. +
  3890. +.l.yy.c:
  3891. +       $(FLEX) $(LEXFLAGS) -o$@ $<
  3892. +
  3893. +.mc.mc.rc:
  3894. +       $(LDPATH) $(WMC) -i -U -H /dev/null -o $@ $<
  3895. +
  3896. +.rc.res:
  3897. +       $(LDPATH) $(RC) $(RCFLAGS) -fo$@ $<
  3898. +
  3899. +.spec.spec.o:
  3900. +       $(WINEBUILD) $(WINEBUILDFLAGS) --dll -o $@ --main-module $(MODULE) --export $<
  3901. +
  3902. +.idl.h:
  3903. +       $(WIDL) $(IDLFLAGS) -h -H $@ $<
  3904. +
  3905. +.idl_c.c:
  3906. +       $(WIDL) $(IDLFLAGS) -c -C $@ $<
  3907. +
  3908. +.idl_i.c:
  3909. +       $(WIDL) $(IDLFLAGS) -u -U $@ $<
  3910. +
  3911. +.idl_p.c:
  3912. +       $(WIDL) $(IDLFLAGS) -p -P $@ $<
  3913. +
  3914. +.idl_s.c:
  3915. +       $(WIDL) $(IDLFLAGS) -s -S $@ $<
  3916. +
  3917. +.idl.tlb:
  3918. +       $(WIDL) $(TARGETFLAGS) $(IDLFLAGS) -t -T $@ $<
  3919. +
  3920. +.c.ln:
  3921. +       $(LINT) -c $(ALLLINTFLAGS) $< || ( $(RM) $@ && exit 1 )
  3922. +
  3923. +.c.ok:
  3924. +       $(RUNTEST) $(RUNTESTFLAGS) $< && touch $@
  3925. +
  3926. +.sfd.ttf:
  3927. +       $(FONTFORGE) -script $(TOPSRCDIR)/fonts/genttf.ff $< $@
  3928. +
  3929. +.man.in.man:
  3930. +       LC_ALL=C sed -e 's,@bindir\@,$(bindir),g' -e 's,@dlldir\@,$(dlldir),g' -e 's,@PACKAGE_STRING\@,Wine 1.1.35,g' $< >$@ || ($(RM) $@ && false)
  3931. +
  3932. +.svg.ico:
  3933. +       $(RSVG) -w 16 -h 16 -f png $< $*-16.png
  3934. +       $(RSVG) -w 32 -h 32 -f png $< $*-32.png
  3935. +       $(RSVG) -w 48 -h 48 -f png $< $*-48.png
  3936. +       $(ICOTOOL) -c -o $@ $*-16.png $*-32.png $*-48.png
  3937. +       $(RM) $*-16.png $*-32.png $*-48.png
  3938. +
  3939. +# Rules for IDL files
  3940. +
  3941. +dlldata.c: $(WIDL) Makefile.in
  3942. +       $(WIDL) $(IDLFLAGS) --dlldata-only --dlldata=$@ $(IDL_P_SRCS)
  3943. +
  3944. +# Rule for linting
  3945. +
  3946. +$(MODULE).ln : $(LINTS)
  3947. +       if test "$(LINTS)" ; \
  3948. +       then \
  3949. +               $(LINT) $(ALLLINTFLAGS) -o$(MODULE) $(LINTS) ; \
  3950. +               $(MV) llib-l$(MODULE).ln $(MODULE).ln ; \
  3951. +       else \
  3952. +               $(LINT) $(ALLLINTFLAGS) -C$(MODULE) /dev/null ; \
  3953. +       fi
  3954. +
  3955. +lint:: $(MODULE).ln
  3956. +
  3957. +# Rules for Windows API checking
  3958. +
  3959. +winapi_check:: dummy
  3960. +       $(WINAPI_CHECK) $(WINAPI_CHECK_FLAGS) $(WINAPI_CHECK_EXTRA_FLAGS) .
  3961. +
  3962. +.PHONY: winapi_check
  3963. +
  3964. +# Rules for dependencies
  3965. +
  3966. +DEPEND_SRCS = $(C_SRCS) $(C_SRCS16) $(RC_SRCS) $(RC_SRCS16) $(MC_SRCS) \
  3967. +              $(IDL_H_SRCS) $(IDL_C_SRCS) $(IDL_I_SRCS) $(IDL_P_SRCS) $(IDL_S_SRCS) \
  3968. +              $(IDL_GEN_C_SRCS) $(IDL_TLB_SRCS) $(IDL_TLB_SRCS:.idl=.tlb) \
  3969. +              $(BISON_SRCS) $(LEX_SRCS) $(EXTRA_SRCS)
  3970. +
  3971. +$(SUBDIRS:%=%/__depend__): dummy
  3972. +       @cd `dirname $@` && $(MAKE) depend
  3973. +
  3974. +depend: $(SUBDIRS:%=%/__depend__) dummy
  3975. +       $(MAKEDEP) $(MAKEDEPFLAGS) -C$(SRCDIR) -S$(TOPSRCDIR) -T$(TOPOBJDIR) $(EXTRAINCL) $(DEPEND_SRCS)
  3976. +
  3977. +.PHONY: depend $(SUBDIRS:%=%/__depend__)
  3978. +
  3979. +# Rules for cleaning
  3980. +
  3981. +$(SUBDIRS:%=%/__clean__): dummy
  3982. +       @cd `dirname $@` && $(MAKE) clean
  3983. +
  3984. +$(EXTRASUBDIRS:%=%/__clean__): dummy
  3985. +       -cd `dirname $@` && $(RM) $(CLEAN_FILES)
  3986. +
  3987. +clean:: $(SUBDIRS:%=%/__clean__) $(EXTRASUBDIRS:%=%/__clean__)
  3988. +       $(RM) $(CLEAN_FILES) $(CLEAN_TARGETS) $(PROGRAMS) $(MANPAGES)
  3989. +
  3990. +.PHONY: clean $(SUBDIRS:%=%/__clean__) $(EXTRASUBDIRS:%=%/__clean__)
  3991. +
  3992. +# Rules for installing
  3993. +
  3994. +$(SUBDIRS:%=%/__install__): dummy
  3995. +       @cd `dirname $@` && $(MAKE) install
  3996. +
  3997. +$(SUBDIRS:%=%/__install-lib__): dummy
  3998. +       @cd `dirname $@` && $(MAKE) install-lib
  3999. +
  4000. +$(SUBDIRS:%=%/__install-dev__): dummy
  4001. +       @cd `dirname $@` && $(MAKE) install-dev
  4002. +
  4003. +$(SUBDIRS:%=%/__uninstall__): dummy
  4004. +       @cd `dirname $@` && $(MAKE) uninstall
  4005. +
  4006. +install:: $(INSTALLSUBDIRS:%=%/__install__) dummy
  4007. +install-lib:: $(INSTALLSUBDIRS:%=%/__install-lib__) dummy
  4008. +install-dev:: $(INSTALLSUBDIRS:%=%/__install-dev__) dummy
  4009. +uninstall:: $(INSTALLSUBDIRS:%=%/__uninstall__) dummy
  4010. +
  4011. +$(INSTALLDIRS):
  4012. +       $(MKINSTALLDIRS) $@
  4013. +
  4014. +.PHONY: install install-lib install-dev uninstall \
  4015. +       $(SUBDIRS:%=%/__install__) $(SUBDIRS:%=%/__uninstall__) \
  4016. +       $(SUBDIRS:%=%/__install-lib__) $(SUBDIRS:%=%/__install-dev__)
  4017. +
  4018. +# Rules for testing
  4019. +
  4020. +$(TESTSUBDIRS:%=%/__test__): dummy
  4021. +       @cd `dirname $@` && $(MAKE) test
  4022. +
  4023. +$(TESTSUBDIRS:%=%/__crosstest__): dummy
  4024. +       @cd `dirname $@` && $(MAKE) crosstest
  4025. +
  4026. +$(TESTSUBDIRS:%=%/__testclean__): dummy
  4027. +       @cd `dirname $@` && $(MAKE) testclean
  4028. +
  4029. +check test:: $(TESTSUBDIRS:%=%/__test__) dummy
  4030. +
  4031. +crosstest:: $(TESTSUBDIRS:%=%/__crosstest__) dummy
  4032. +
  4033. +testclean:: $(TESTSUBDIRS:%=%/__testclean__) dummy
  4034. +
  4035. +.PHONY: check test testclean crosstest $(TESTSUBDIRS:%=%/__test__) $(TESTSUBDIRS:%=%/__crosstest__) $(TESTSUBDIRS:%=%/__testclean__)
  4036. +
  4037. +# Rules for auto documentation
  4038. +
  4039. +$(DOCSUBDIRS:%=%/__man__): dummy
  4040. +       @cd `dirname $@` && $(MAKE) man
  4041. +
  4042. +$(DOCSUBDIRS:%=%/__doc_html__): dummy
  4043. +       @cd `dirname $@` && $(MAKE) doc-html
  4044. +
  4045. +$(DOCSUBDIRS:%=%/__doc_sgml__): dummy
  4046. +       @cd `dirname $@` && $(MAKE) doc-sgml
  4047. +
  4048. +$(DOCSUBDIRS:%=%/__doc_xml__): dummy
  4049. +       @cd `dirname $@` && $(MAKE) doc-xml
  4050. +
  4051. +man: $(DOCSUBDIRS:%=%/__man__)
  4052. +doc-html: $(DOCSUBDIRS:%=%/__doc_html__)
  4053. +doc-sgml: $(DOCSUBDIRS:%=%/__doc_sgml__)
  4054. +doc-xml: $(DOCSUBDIRS:%=%/__doc_xml__)
  4055. +
  4056. +.PHONY: man doc-html doc-sgml doc-xml $(DOCSUBDIRS:%=%/__man__) $(DOCSUBDIRS:%=%/__doc_html__) $(DOCSUBDIRS:%=%/__doc_sgml__) $(DOCSUBDIRS:%=%/__doc_xml__)
  4057. +
  4058. +# Misc. rules
  4059. +
  4060. +$(MC_SRCS:.mc=.mc.rc): $(WMC)
  4061. +
  4062. +$(IDL_GEN_HEADERS) $(IDL_GEN_C_SRCS) $(IDL_TLB_SRCS:.idl=.tlb): $(WIDL)
  4063. +
  4064. +$(RC_SRCS:.rc=.res) $(MC_SRCS:.mc=.mc.res) $(RC_SRCS16:.rc=.res): $(WRC)
  4065. +
  4066. +$(SUBDIRS): dummy
  4067. +       @cd $@ && $(MAKE)
  4068. +
  4069. +dummy:
  4070. +
  4071. +.PHONY: dummy $(SUBDIRS)
  4072. +
  4073. +# End of global rules
  4074. +
  4075. +all: $(SUBDIRS)
  4076. +
  4077. +# Directory dependencies
  4078. +
  4079. +wine wine/__install__ wine/__install-lib__: port
  4080. diff -rupN wine-1.5.19/programs/Makefile wine-silverlight-1.5.19/programs/Makefile
  4081. --- wine-1.5.19/programs/Makefile       1969-12-31 16:00:00.000000000 -0800
  4082. +++ wine-silverlight-1.5.19/programs/Makefile   2012-12-20 18:16:39.776215447 -0800
  4083. @@ -0,0 +1,492 @@
  4084. +TOPSRCDIR = ..
  4085. +TOPOBJDIR = ..
  4086. +SRCDIR    = .
  4087. +
  4088. +
  4089. +SUBDIRS        =  \
  4090. +       cacls \
  4091. +       clock \
  4092. +       cmd \
  4093. +       cmdlgtst \
  4094. +       control \
  4095. +       dxdiag \
  4096. +       eject \
  4097. +       expand \
  4098. +       explorer \
  4099. +       extrac32 \
  4100. +       hh \
  4101. +       icinfo \
  4102. +       iexplore \
  4103. +       lodctr \
  4104. +       mshta \
  4105. +       msiexec \
  4106. +       net \
  4107. +       notepad \
  4108. +       oleview \
  4109. +       progman \
  4110. +       reg \
  4111. +       regedit \
  4112. +       regsvr32 \
  4113. +       rpcss \
  4114. +       rundll32 \
  4115. +       secedit \
  4116. +       services \
  4117. +       spoolsv \
  4118. +       start \
  4119. +       svchost \
  4120. +       taskmgr \
  4121. +       termsv \
  4122. +       uninstaller \
  4123. +       unlodctr \
  4124. +       view \
  4125. +       wineboot \
  4126. +       winebrowser \
  4127. +       winecfg \
  4128. +       wineconsole \
  4129. +       winedbg \
  4130. +       winedevice \
  4131. +       winefile \
  4132. +       winemenubuilder \
  4133. +       winemine \
  4134. +       winepath \
  4135. +       winetest \
  4136. +       winevdm \
  4137. +       winhelp.exe16 \
  4138. +       winhlp32 \
  4139. +       winoldap.mod16 \
  4140. +       winver \
  4141. +       wordpad \
  4142. +       write \
  4143. +       xcopy
  4144. +INSTALLSUBDIRS =  \
  4145. +       cacls \
  4146. +       clock \
  4147. +       cmd \
  4148. +       control \
  4149. +       dxdiag \
  4150. +       eject \
  4151. +       expand \
  4152. +       explorer \
  4153. +       extrac32 \
  4154. +       hh \
  4155. +       icinfo \
  4156. +       iexplore \
  4157. +       lodctr \
  4158. +       mshta \
  4159. +       msiexec \
  4160. +       net \
  4161. +       notepad \
  4162. +       oleview \
  4163. +       progman \
  4164. +       reg \
  4165. +       regedit \
  4166. +       regsvr32 \
  4167. +       rpcss \
  4168. +       rundll32 \
  4169. +       secedit \
  4170. +       services \
  4171. +       spoolsv \
  4172. +       start \
  4173. +       svchost \
  4174. +       taskmgr \
  4175. +       termsv \
  4176. +       uninstaller \
  4177. +       unlodctr \
  4178. +       wineboot \
  4179. +       winebrowser \
  4180. +       winecfg \
  4181. +       wineconsole \
  4182. +       winedbg \
  4183. +       winedevice \
  4184. +       winefile \
  4185. +       winemenubuilder \
  4186. +       winemine \
  4187. +       winepath \
  4188. +       winevdm \
  4189. +       winhelp.exe16 \
  4190. +       winhlp32 \
  4191. +       winoldap.mod16 \
  4192. +       winver \
  4193. +       wordpad \
  4194. +       write \
  4195. +       xcopy
  4196. +INSTALLPROGS   =  \
  4197. +       msiexec \
  4198. +       notepad \
  4199. +       regedit \
  4200. +       regsvr32 \
  4201. +       wineboot \
  4202. +       winecfg \
  4203. +       wineconsole \
  4204. +       winedbg \
  4205. +       winefile \
  4206. +       winemine \
  4207. +       winepath
  4208. +
  4209. +INSTALLDIRS = $(DESTDIR)$(bindir)
  4210. +
  4211. +PROGRAMS = wineapploader
  4212. +
  4213. +# Global rules shared by all makefiles     -*-Makefile-*-
  4214. +#
  4215. +# Each individual makefile must define the following variables:
  4216. +# TOPSRCDIR    : top-level source directory
  4217. +# TOPOBJDIR    : top-level object directory
  4218. +# SRCDIR       : source directory for this module
  4219. +# MODULE       : name of the module being built
  4220. +#
  4221. +# Each individual makefile may define the following additional variables:
  4222. +# C_SRCS       : C sources for the module
  4223. +# C_SRCS16     : 16-bit C sources for the module
  4224. +# RC_SRCS      : resource source files
  4225. +# EXTRA_SRCS   : extra source files for make depend
  4226. +# EXTRA_OBJS   : extra object files
  4227. +# IMPORTS      : dlls to import
  4228. +# DELAYIMPORTS : dlls to import in delayed mode
  4229. +# SUBDIRS      : subdirectories that contain a Makefile
  4230. +# EXTRASUBDIRS : subdirectories that do not contain a Makefile
  4231. +# INSTALLSUBDIRS : subdirectories to run make install/uninstall into
  4232. +# MODCFLAGS    : extra CFLAGS for this module
  4233. +
  4234. +# First some useful definitions
  4235. +
  4236. +SHELL     = /bin/sh
  4237. +CC        = ccache gcc -m32
  4238. +CFLAGS    = -g -O2
  4239. +CPPFLAGS  =
  4240. +LIBS      =
  4241. +BISON     = bison
  4242. +FLEX      = flex
  4243. +EXEEXT    =
  4244. +OBJEXT    = o
  4245. +LIBEXT    = so
  4246. +DLLEXT    = .so
  4247. +TOOLSEXT  =
  4248. +IMPLIBEXT = def
  4249. +LDSHARED  = $(CC) -shared $(SONAME:%=-Wl,-soname,%) $(VERSCRIPT:%=-Wl,--version-script=%)
  4250. +DLLTOOL   = i586-mingw32msvc-dlltool
  4251. +DLLWRAP   =
  4252. +AR        = ar
  4253. +ARFLAGS   = rc
  4254. +RANLIB    = ranlib
  4255. +STRIP     = strip
  4256. +LN        = ln
  4257. +LN_S      = ln -s
  4258. +TOOLSDIR  = $(TOPOBJDIR)
  4259. +LDFLAGS   =
  4260. +PRELINK   = /usr/sbin/prelink
  4261. +RM        = rm -f
  4262. +MV        = mv
  4263. +LINT      =
  4264. +LINTFLAGS =
  4265. +FONTFORGE = fontforge
  4266. +RSVG      = false
  4267. +ICOTOOL   = icotool
  4268. +FAKEEXT   = $(DLLEXT:.so=.fake)
  4269. +INCLUDES     = -I$(SRCDIR) -I. -I$(TOPSRCDIR)/include -I$(TOPOBJDIR)/include $(EXTRAINCL)
  4270. +EXTRACFLAGS  = -Wall -pipe -fno-strict-aliasing -Wdeclaration-after-statement -Wstrict-prototypes -Wwrite-strings -Wtype-limits -Wpointer-arith
  4271. +ALLCFLAGS    = $(INCLUDES) $(DEFS) $(DLLFLAGS) $(EXTRACFLAGS) $(CPPFLAGS) $(CFLAGS) $(MODCFLAGS)
  4272. +ALLLINTFLAGS = $(INCLUDES) $(DEFS) $(LINTFLAGS)
  4273. +IDLFLAGS     = $(INCLUDES) $(DEFS) $(EXTRAIDLFLAGS)
  4274. +TARGETFLAGS  = -m32
  4275. +WINEBUILDFLAGS = $(TARGETFLAGS) $(DLLFLAGS)
  4276. +MKINSTALLDIRS= $(TOPSRCDIR)/tools/mkinstalldirs -m 755
  4277. +WINAPI_CHECK = $(TOPSRCDIR)/tools/winapi/winapi_check
  4278. +WINEWRAPPER  = $(TOPSRCDIR)/tools/winewrapper
  4279. +C2MAN        = $(TOPSRCDIR)/tools/c2man.pl
  4280. +RUNTEST      = $(TOPSRCDIR)/tools/runtest
  4281. +WINEBUILD    = $(TOOLSDIR)/tools/winebuild/winebuild$(TOOLSEXT)
  4282. +MAKEDEP      = $(TOOLSDIR)/tools/makedep$(TOOLSEXT)
  4283. +MAKECTESTS   = $(TOOLSDIR)/tools/make_ctests$(TOOLSEXT)
  4284. +WRC          = $(TOOLSDIR)/tools/wrc/wrc$(TOOLSEXT)
  4285. +WMC          = $(TOOLSDIR)/tools/wmc/wmc$(TOOLSEXT)
  4286. +WIDL         = $(TOOLSDIR)/tools/widl/widl$(TOOLSEXT)
  4287. +WINEGCC      = $(TOOLSDIR)/tools/winegcc/winegcc $(TARGETFLAGS) -B$(TOOLSDIR)/tools/winebuild --sysroot=$(TOPOBJDIR)
  4288. +RELPATH      = $(TOOLSDIR)/tools/relpath$(TOOLSEXT)
  4289. +SFNT2FNT     = $(TOOLSDIR)/tools/sfnt2fnt$(TOOLSEXT)
  4290. +RC           = $(WRC)
  4291. +RC16         = $(WRC)
  4292. +RCFLAGS      = --nostdinc $(INCLUDES) $(DEFS) $(EXTRARCFLAGS)
  4293. +RC16FLAGS    = -O res16 $(RCFLAGS)
  4294. +LDPATH       = LD_LIBRARY_PATH="$(TOOLSDIR)/libs/wine:$$LD_LIBRARY_PATH"
  4295. +DLLDIR       = $(TOPOBJDIR)/dlls
  4296. +LIBPORT      = $(TOPOBJDIR)/libs/port/libwine_port.a
  4297. +LIBWPP       = $(TOPOBJDIR)/libs/wpp/libwpp.a
  4298. +LIBWINE      = -L$(TOPOBJDIR)/libs/wine -lwine
  4299. +LDRPATH_INSTALL = -Wl,--rpath,\$$ORIGIN/`$(RELPATH) $(bindir) $(libdir)` -Wl,--enable-new-dtags
  4300. +LDRPATH_LOCAL   = -Wl,--rpath,\$$ORIGIN/$(TOPOBJDIR)/libs/wine
  4301. +
  4302. +
  4303. +
  4304. +# Installation infos
  4305. +
  4306. +INSTALL         = /usr/bin/install -c $(INSTALL_FLAGS)
  4307. +INSTALL_PROGRAM = ${INSTALL} $(INSTALL_PROGRAM_FLAGS)
  4308. +INSTALL_SCRIPT  = ${INSTALL} $(INSTALL_SCRIPT_FLAGS)
  4309. +INSTALL_DATA    = ${INSTALL} -m 644 $(INSTALL_DATA_FLAGS)
  4310. +prefix          = /usr/local
  4311. +exec_prefix     = ${prefix}
  4312. +bindir          = ${exec_prefix}/bin
  4313. +libdir          = ${exec_prefix}/lib
  4314. +datarootdir     = ${prefix}/share
  4315. +datadir         = ${datarootdir}
  4316. +infodir         = ${datarootdir}/info
  4317. +mandir          = ${datarootdir}/man
  4318. +sysconfdir      = ${prefix}/etc
  4319. +includedir      = ${prefix}/include/wine
  4320. +dlldir          = ${exec_prefix}/lib/wine
  4321. +fakedlldir      = $(dlldir)/fakedlls
  4322. +prog_manext     = 1
  4323. +api_manext      = 3w
  4324. +conf_manext     = 5
  4325. +CLEAN_FILES     = *.o *.a *.so *.ln *.res *.fake *.$(LIBEXT) \\\#*\\\# *~ *% .\\\#* *.bak *.orig *.rej *.flc core
  4326. +
  4327. +IDL_GEN_C_SRCS  = $(IDL_C_SRCS:.idl=_c.c) $(IDL_I_SRCS:.idl=_i.c) \
  4328. +                  $(IDL_P_SRCS:.idl=_p.c) $(IDL_S_SRCS:.idl=_s.c)
  4329. +IDL_GEN_HEADERS = $(IDL_H_SRCS:.idl=.h) $(IDL_C_SRCS:.idl=.h) $(IDL_I_SRCS:.idl=.h) \
  4330. +                  $(IDL_P_SRCS:.idl=.h) $(IDL_S_SRCS:.idl=.h)
  4331. +
  4332. +CLEAN_TARGETS = $(IDL_GEN_C_SRCS) $(IDL_GEN_HEADERS) $(IDL_TLB_SRCS:.idl=.tlb) $(IDL_P_SRCS:%=dlldata.c) \
  4333. +                $(BISON_SRCS:.y=.tab.c) $(BISON_SRCS:.y=.tab.h) $(LEX_SRCS:.l=.yy.c) $(MC_SRCS:.mc=.mc.rc)
  4334. +
  4335. +OBJS = $(C_SRCS:.c=.o) $(BISON_SRCS:.y=.tab.o) $(LEX_SRCS:.l=.yy.o) $(IDL_GEN_C_SRCS:.c=.o) \
  4336. +       $(RC_SRCS:.rc=.res) $(MC_SRCS:.mc=.mc.res) $(EXTRA_OBJS)
  4337. +
  4338. +LINTS  = $(C_SRCS:.c=.ln)
  4339. +
  4340. +# 'all' target first in case the enclosing Makefile didn't define any target
  4341. +
  4342. +all:
  4343. +
  4344. +filter: dummy
  4345. +       @$(TOPSRCDIR)/tools/winapi/make_filter --make $(MAKE) all
  4346. +
  4347. +.PHONY: all filter
  4348. +
  4349. +# Implicit rules
  4350. +
  4351. +.SUFFIXES: .mc .rc .mc.rc .res .spec .spec.o .idl .tlb .h .y .l .tab.c .tab.h .yy.c .ok .man.in .man _c.c _i.c _p.c _s.c # .sfd .ttf .svg .ico
  4352. +
  4353. +.c.o:
  4354. +       $(CC) -c $(ALLCFLAGS) -o $@ $<
  4355. +
  4356. +.y.tab.c:
  4357. +       $(BISON) $(BISONFLAGS) -p $*_ -o $@ $<
  4358. +
  4359. +.y.tab.h:
  4360. +       $(BISON) $(BISONFLAGS) -p $*_ -o $*.tab.c -d $<
  4361. +
  4362. +.l.yy.c:
  4363. +       $(FLEX) $(LEXFLAGS) -o$@ $<
  4364. +
  4365. +.mc.mc.rc:
  4366. +       $(LDPATH) $(WMC) -i -U -H /dev/null -o $@ $<
  4367. +
  4368. +.rc.res:
  4369. +       $(LDPATH) $(RC) $(RCFLAGS) -fo$@ $<
  4370. +
  4371. +.spec.spec.o:
  4372. +       $(WINEBUILD) $(WINEBUILDFLAGS) --dll -o $@ --main-module $(MODULE) --export $<
  4373. +
  4374. +.idl.h:
  4375. +       $(WIDL) $(IDLFLAGS) -h -H $@ $<
  4376. +
  4377. +.idl_c.c:
  4378. +       $(WIDL) $(IDLFLAGS) -c -C $@ $<
  4379. +
  4380. +.idl_i.c:
  4381. +       $(WIDL) $(IDLFLAGS) -u -U $@ $<
  4382. +
  4383. +.idl_p.c:
  4384. +       $(WIDL) $(IDLFLAGS) -p -P $@ $<
  4385. +
  4386. +.idl_s.c:
  4387. +       $(WIDL) $(IDLFLAGS) -s -S $@ $<
  4388. +
  4389. +.idl.tlb:
  4390. +       $(WIDL) $(TARGETFLAGS) $(IDLFLAGS) -t -T $@ $<
  4391. +
  4392. +.c.ln:
  4393. +       $(LINT) -c $(ALLLINTFLAGS) $< || ( $(RM) $@ && exit 1 )
  4394. +
  4395. +.c.ok:
  4396. +       $(RUNTEST) $(RUNTESTFLAGS) $< && touch $@
  4397. +
  4398. +.sfd.ttf:
  4399. +       $(FONTFORGE) -script $(TOPSRCDIR)/fonts/genttf.ff $< $@
  4400. +
  4401. +.man.in.man:
  4402. +       LC_ALL=C sed -e 's,@bindir\@,$(bindir),g' -e 's,@dlldir\@,$(dlldir),g' -e 's,@PACKAGE_STRING\@,Wine 1.1.35,g' $< >$@ || ($(RM) $@ && false)
  4403. +
  4404. +.svg.ico:
  4405. +       $(RSVG) -w 16 -h 16 -f png $< $*-16.png
  4406. +       $(RSVG) -w 32 -h 32 -f png $< $*-32.png
  4407. +       $(RSVG) -w 48 -h 48 -f png $< $*-48.png
  4408. +       $(ICOTOOL) -c -o $@ $*-16.png $*-32.png $*-48.png
  4409. +       $(RM) $*-16.png $*-32.png $*-48.png
  4410. +
  4411. +# Rules for IDL files
  4412. +
  4413. +dlldata.c: $(WIDL) Makefile.in
  4414. +       $(WIDL) $(IDLFLAGS) --dlldata-only --dlldata=$@ $(IDL_P_SRCS)
  4415. +
  4416. +# Rule for linting
  4417. +
  4418. +$(MODULE).ln : $(LINTS)
  4419. +       if test "$(LINTS)" ; \
  4420. +       then \
  4421. +               $(LINT) $(ALLLINTFLAGS) -o$(MODULE) $(LINTS) ; \
  4422. +               $(MV) llib-l$(MODULE).ln $(MODULE).ln ; \
  4423. +       else \
  4424. +               $(LINT) $(ALLLINTFLAGS) -C$(MODULE) /dev/null ; \
  4425. +       fi
  4426. +
  4427. +lint:: $(MODULE).ln
  4428. +
  4429. +# Rules for Windows API checking
  4430. +
  4431. +winapi_check:: dummy
  4432. +       $(WINAPI_CHECK) $(WINAPI_CHECK_FLAGS) $(WINAPI_CHECK_EXTRA_FLAGS) .
  4433. +
  4434. +.PHONY: winapi_check
  4435. +
  4436. +# Rules for dependencies
  4437. +
  4438. +DEPEND_SRCS = $(C_SRCS) $(C_SRCS16) $(RC_SRCS) $(RC_SRCS16) $(MC_SRCS) \
  4439. +              $(IDL_H_SRCS) $(IDL_C_SRCS) $(IDL_I_SRCS) $(IDL_P_SRCS) $(IDL_S_SRCS) \
  4440. +              $(IDL_GEN_C_SRCS) $(IDL_TLB_SRCS) $(IDL_TLB_SRCS:.idl=.tlb) \
  4441. +              $(BISON_SRCS) $(LEX_SRCS) $(EXTRA_SRCS)
  4442. +
  4443. +$(SUBDIRS:%=%/__depend__): dummy
  4444. +       @cd `dirname $@` && $(MAKE) depend
  4445. +
  4446. +depend: $(SUBDIRS:%=%/__depend__) dummy
  4447. +       $(MAKEDEP) $(MAKEDEPFLAGS) -C$(SRCDIR) -S$(TOPSRCDIR) -T$(TOPOBJDIR) $(EXTRAINCL) $(DEPEND_SRCS)
  4448. +
  4449. +.PHONY: depend $(SUBDIRS:%=%/__depend__)
  4450. +
  4451. +# Rules for cleaning
  4452. +
  4453. +$(SUBDIRS:%=%/__clean__): dummy
  4454. +       @cd `dirname $@` && $(MAKE) clean
  4455. +
  4456. +$(EXTRASUBDIRS:%=%/__clean__): dummy
  4457. +       -cd `dirname $@` && $(RM) $(CLEAN_FILES)
  4458. +
  4459. +clean:: $(SUBDIRS:%=%/__clean__) $(EXTRASUBDIRS:%=%/__clean__)
  4460. +       $(RM) $(CLEAN_FILES) $(CLEAN_TARGETS) $(PROGRAMS) $(MANPAGES)
  4461. +
  4462. +.PHONY: clean $(SUBDIRS:%=%/__clean__) $(EXTRASUBDIRS:%=%/__clean__)
  4463. +
  4464. +# Rules for installing
  4465. +
  4466. +$(SUBDIRS:%=%/__install__): dummy
  4467. +       @cd `dirname $@` && $(MAKE) install
  4468. +
  4469. +$(SUBDIRS:%=%/__install-lib__): dummy
  4470. +       @cd `dirname $@` && $(MAKE) install-lib
  4471. +
  4472. +$(SUBDIRS:%=%/__install-dev__): dummy
  4473. +       @cd `dirname $@` && $(MAKE) install-dev
  4474. +
  4475. +$(SUBDIRS:%=%/__uninstall__): dummy
  4476. +       @cd `dirname $@` && $(MAKE) uninstall
  4477. +
  4478. +install:: $(INSTALLSUBDIRS:%=%/__install__) dummy
  4479. +install-lib:: $(INSTALLSUBDIRS:%=%/__install-lib__) dummy
  4480. +install-dev:: $(INSTALLSUBDIRS:%=%/__install-dev__) dummy
  4481. +uninstall:: $(INSTALLSUBDIRS:%=%/__uninstall__) dummy
  4482. +
  4483. +$(INSTALLDIRS):
  4484. +       $(MKINSTALLDIRS) $@
  4485. +
  4486. +.PHONY: install install-lib install-dev uninstall \
  4487. +       $(SUBDIRS:%=%/__install__) $(SUBDIRS:%=%/__uninstall__) \
  4488. +       $(SUBDIRS:%=%/__install-lib__) $(SUBDIRS:%=%/__install-dev__)
  4489. +
  4490. +# Rules for testing
  4491. +
  4492. +$(TESTSUBDIRS:%=%/__test__): dummy
  4493. +       @cd `dirname $@` && $(MAKE) test
  4494. +
  4495. +$(TESTSUBDIRS:%=%/__crosstest__): dummy
  4496. +       @cd `dirname $@` && $(MAKE) crosstest
  4497. +
  4498. +$(TESTSUBDIRS:%=%/__testclean__): dummy
  4499. +       @cd `dirname $@` && $(MAKE) testclean
  4500. +
  4501. +check test:: $(TESTSUBDIRS:%=%/__test__) dummy
  4502. +
  4503. +crosstest:: $(TESTSUBDIRS:%=%/__crosstest__) dummy
  4504. +
  4505. +testclean:: $(TESTSUBDIRS:%=%/__testclean__) dummy
  4506. +
  4507. +.PHONY: check test testclean crosstest $(TESTSUBDIRS:%=%/__test__) $(TESTSUBDIRS:%=%/__crosstest__) $(TESTSUBDIRS:%=%/__testclean__)
  4508. +
  4509. +# Rules for auto documentation
  4510. +
  4511. +$(DOCSUBDIRS:%=%/__man__): dummy
  4512. +       @cd `dirname $@` && $(MAKE) man
  4513. +
  4514. +$(DOCSUBDIRS:%=%/__doc_html__): dummy
  4515. +       @cd `dirname $@` && $(MAKE) doc-html
  4516. +
  4517. +$(DOCSUBDIRS:%=%/__doc_sgml__): dummy
  4518. +       @cd `dirname $@` && $(MAKE) doc-sgml
  4519. +
  4520. +$(DOCSUBDIRS:%=%/__doc_xml__): dummy
  4521. +       @cd `dirname $@` && $(MAKE) doc-xml
  4522. +
  4523. +man: $(DOCSUBDIRS:%=%/__man__)
  4524. +doc-html: $(DOCSUBDIRS:%=%/__doc_html__)
  4525. +doc-sgml: $(DOCSUBDIRS:%=%/__doc_sgml__)
  4526. +doc-xml: $(DOCSUBDIRS:%=%/__doc_xml__)
  4527. +
  4528. +.PHONY: man doc-html doc-sgml doc-xml $(DOCSUBDIRS:%=%/__man__) $(DOCSUBDIRS:%=%/__doc_html__) $(DOCSUBDIRS:%=%/__doc_sgml__) $(DOCSUBDIRS:%=%/__doc_xml__)
  4529. +
  4530. +# Misc. rules
  4531. +
  4532. +$(MC_SRCS:.mc=.mc.rc): $(WMC)
  4533. +
  4534. +$(IDL_GEN_HEADERS) $(IDL_GEN_C_SRCS) $(IDL_TLB_SRCS:.idl=.tlb): $(WIDL)
  4535. +
  4536. +$(RC_SRCS:.rc=.res) $(MC_SRCS:.mc=.mc.res) $(RC_SRCS16:.rc=.res): $(WRC)
  4537. +
  4538. +$(SUBDIRS): dummy
  4539. +       @cd $@ && $(MAKE)
  4540. +
  4541. +dummy:
  4542. +
  4543. +.PHONY: dummy $(SUBDIRS)
  4544. +
  4545. +# End of global rules
  4546. +
  4547. +all: $(PROGRAMS) $(SUBDIRS)
  4548. +
  4549. +wineapploader: wineapploader.in
  4550. +       sed -e 's,@bindir\@,$(bindir),g' $(SRCDIR)/wineapploader.in >$@ || ($(RM) $@ && false)
  4551. +
  4552. +# Rules for installation
  4553. +
  4554. +.PHONY: install-apploader install-progs install-progs.so $(INSTALLPROGS:%=%/__installprog__)
  4555. +
  4556. +install-apploader: wineapploader $(INSTALLDIRS) dummy
  4557. +       $(INSTALL_SCRIPT) wineapploader $(DESTDIR)$(bindir)/wineapploader
  4558. +
  4559. +$(INSTALLPROGS:%=%/__installprog__): install-apploader
  4560. +       $(RM) $(DESTDIR)$(bindir)/`dirname $@` && $(LN) $(DESTDIR)$(bindir)/wineapploader $(DESTDIR)$(bindir)/`dirname $@`
  4561. +
  4562. +install-progs.so: $(INSTALLPROGS:%=%/__installprog__)
  4563. +       $(RM) $(DESTDIR)$(bindir)/wineapploader
  4564. +
  4565. +install-progs: # nothing to do here
  4566. +
  4567. + install install-lib:: install-progs$(DLLEXT) $(INSTALLDIRS)
  4568. +
  4569. +uninstall::
  4570. +       -cd $(DESTDIR)$(bindir) && $(RM) wineapploader $(INSTALLPROGS)
  4571. +       -rmdir $(DESTDIR)$(fakedlldir) $(DESTDIR)$(dlldir)
  4572. +
  4573. +# Rules for testing
  4574. +
  4575. +check test:: $(SUBDIRS:%=%/__test__)
  4576. diff -rupN wine-1.5.19/server/change.c wine-silverlight-1.5.19/server/change.c
  4577. --- wine-1.5.19/server/change.c 2012-12-07 11:17:32.000000000 -0800
  4578. +++ wine-silverlight-1.5.19/server/change.c     2012-12-20 18:16:39.786214785 -0800
  4579. @@ -286,6 +286,7 @@ static int get_dir_unix_fd( struct dir *
  4580.  static struct security_descriptor *dir_get_sd( struct object *obj )
  4581.  {
  4582.      struct dir *dir = (struct dir *)obj;
  4583. +    const SID *user, *group;
  4584.      int unix_fd;
  4585.      struct stat st;
  4586.      struct security_descriptor *sd;
  4587. @@ -302,9 +303,11 @@ static struct security_descriptor *dir_g
  4588.          (st.st_uid == dir->uid))
  4589.          return obj->sd;
  4590.  
  4591. -    sd = mode_to_sd( st.st_mode,
  4592. -                     security_unix_uid_to_sid( st.st_uid ),
  4593. -                     token_get_primary_group( current->process->token ));
  4594. +    user = security_unix_uid_to_sid( st.st_uid );
  4595. +    group = token_get_primary_group( current->process->token );
  4596. +    sd = get_file_acls( unix_fd, user, group );
  4597. +    if (!sd)
  4598. +        sd = mode_to_sd( st.st_mode, user, group );
  4599.      if (!sd) return obj->sd;
  4600.  
  4601.      dir->mode = st.st_mode;
  4602. @@ -353,6 +356,8 @@ static int dir_set_sd( struct object *ob
  4603.          mode = st.st_mode & (S_ISUID|S_ISGID|S_ISVTX);
  4604.          mode |= sd_to_mode( sd, owner );
  4605.  
  4606. +        set_file_acls( unix_fd, sd );
  4607. +
  4608.          if (((st.st_mode ^ mode) & (S_IRWXU|S_IRWXG|S_IRWXO)) && fchmod( unix_fd, mode ) == -1)
  4609.          {
  4610.              file_set_error();
  4611. diff -rupN wine-1.5.19/server/fd.c wine-silverlight-1.5.19/server/fd.c
  4612. --- wine-1.5.19/server/fd.c     2012-12-07 11:17:32.000000000 -0800
  4613. +++ wine-silverlight-1.5.19/server/fd.c 2012-12-20 18:16:39.786214785 -0800
  4614. @@ -88,6 +88,9 @@
  4615.  #include <sys/time.h>
  4616.  #include <sys/types.h>
  4617.  #include <unistd.h>
  4618. +#ifdef HAVE_ATTR_XATTR_H
  4619. +#include <attr/xattr.h>
  4620. +#endif
  4621.  
  4622.  #include "ntstatus.h"
  4623.  #define WIN32_NO_STATUS
  4624. @@ -96,6 +99,7 @@
  4625.  #include "handle.h"
  4626.  #include "process.h"
  4627.  #include "request.h"
  4628. +#include "security.h"
  4629.  
  4630.  #include "winternl.h"
  4631.  #include "winioctl.h"
  4632. @@ -1723,9 +1727,69 @@ static char *dup_fd_name( struct fd *roo
  4633.      return ret;
  4634.  }
  4635.  
  4636. +void set_file_acls( int fd, const struct security_descriptor *sd )
  4637. +{
  4638. +#ifdef HAVE_ATTR_XATTR_H
  4639. +    char buffer[XATTR_SIZE_MAX], *p = buffer;
  4640. +    const ACE_HEADER *ace;
  4641. +    int present, i, j, n;
  4642. +    const ACL *dacl;
  4643. +
  4644. +    if (!sd) return;
  4645. +    dacl = sd_get_dacl( sd, &present );
  4646. +    if (!present || !dacl) return;
  4647. +    ace = (const ACE_HEADER *)(dacl + 1);
  4648. +
  4649. +    for (i = 0; i < dacl->AceCount; i++, ace = ace_next( ace ))
  4650. +    {
  4651. +        BYTE type = ace->AceType, flags;
  4652. +        const ACCESS_ALLOWED_ACE *aaa;
  4653. +        const ACCESS_DENIED_ACE *ada;
  4654. +        char sidtxt[100], *s;
  4655. +        const SID *sid;
  4656. +        DWORD mask;
  4657. +
  4658. +        if (type & INHERIT_ONLY_ACE) continue;
  4659. +
  4660. +        switch (type)
  4661. +        {
  4662. +            case ACCESS_DENIED_ACE_TYPE:
  4663. +                ada   = (const ACCESS_DENIED_ACE *)ace;
  4664. +                flags = ada->Header.AceFlags;
  4665. +                mask  = ada->Mask;
  4666. +                sid   = (const SID *)&ada->SidStart;
  4667. +                break;
  4668. +            case ACCESS_ALLOWED_ACE_TYPE:
  4669. +                aaa   = (const ACCESS_ALLOWED_ACE *)ace;
  4670. +                flags = aaa->Header.AceFlags;
  4671. +                mask  = aaa->Mask;
  4672. +                sid   = (const SID *)&aaa->SidStart;
  4673. +                break;
  4674. +            default:
  4675. +                continue;
  4676. +        }
  4677. +        n = sprintf( sidtxt,  "S-%u-%d", sid->Revision,
  4678. +            MAKELONG(
  4679. +                MAKEWORD( sid->IdentifierAuthority.Value[5],
  4680. +                          sid->IdentifierAuthority.Value[4] ),
  4681. +                MAKEWORD( sid->IdentifierAuthority.Value[3],
  4682. +                          sid->IdentifierAuthority.Value[2] )
  4683. +            ) );
  4684. +        s = sidtxt + n;
  4685. +        for( j=0; j<sid->SubAuthorityCount; j++ )
  4686. +            s += sprintf( s, "-%u", sid->SubAuthority[j] );
  4687. +
  4688. +        p += snprintf( p, XATTR_SIZE_MAX-(p-buffer), "%s%x,%x,%x,%s",
  4689. +                      (p != buffer ? ";" : ""), type, flags, mask, sidtxt );
  4690. +    }
  4691. +
  4692. +    fsetxattr( fd, "user.wine.acl", buffer, p-buffer, 0 );
  4693. +#endif
  4694. +}
  4695. +
  4696.  /* open() wrapper that returns a struct fd with no fd user set */
  4697.  struct fd *open_fd( struct fd *root, const char *name, int flags, mode_t *mode, unsigned int access,
  4698. -                    unsigned int sharing, unsigned int options )
  4699. +                    unsigned int sharing, unsigned int options, const struct security_descriptor *sd )
  4700.  {
  4701.      struct stat st;
  4702.      struct closed_fd *closed_fd;
  4703. @@ -1765,7 +1829,7 @@ struct fd *open_fd( struct fd *root, con
  4704.      /* create the directory if needed */
  4705.      if ((options & FILE_DIRECTORY_FILE) && (flags & O_CREAT))
  4706.      {
  4707. -        if (mkdir( name, 0777 ) == -1)
  4708. +        if (mkdir( name, *mode ) == -1)
  4709.          {
  4710.              if (errno != EEXIST || (flags & O_EXCL))
  4711.              {
  4712. @@ -1801,6 +1865,8 @@ struct fd *open_fd( struct fd *root, con
  4713.          }
  4714.      }
  4715.  
  4716. +    set_file_acls( fd->unix_fd, sd );
  4717. +
  4718.      closed_fd->unix_fd = fd->unix_fd;
  4719.      closed_fd->unlink[0] = 0;
  4720.      fstat( fd->unix_fd, &st );
  4721. diff -rupN wine-1.5.19/server/file.c wine-silverlight-1.5.19/server/file.c
  4722. --- wine-1.5.19/server/file.c   2012-12-07 11:17:32.000000000 -0800
  4723. +++ wine-silverlight-1.5.19/server/file.c       2012-12-20 18:16:39.786214785 -0800
  4724. @@ -32,6 +32,7 @@
  4725.  #include <sys/time.h>
  4726.  #include <sys/types.h>
  4727.  #include <time.h>
  4728. +#include <limits.h>
  4729.  #include <unistd.h>
  4730.  #ifdef HAVE_UTIME_H
  4731.  #include <utime.h>
  4732. @@ -39,6 +40,9 @@
  4733.  #ifdef HAVE_POLL_H
  4734.  #include <poll.h>
  4735.  #endif
  4736. +#ifdef HAVE_ATTR_XATTR_H
  4737. +#include <attr/xattr.h>
  4738. +#endif
  4739.  
  4740.  #include "ntstatus.h"
  4741.  #define WIN32_NO_STATUS
  4742. @@ -219,7 +223,12 @@ static struct object *create_file( struc
  4743.          mode = sd_to_mode( sd, owner );
  4744.      }
  4745.      else
  4746. -        mode = (attrs & FILE_ATTRIBUTE_READONLY) ? 0444 : 0666;
  4747. +    {
  4748. +        if (options & FILE_NON_DIRECTORY_FILE)
  4749. +            mode = (attrs & FILE_ATTRIBUTE_READONLY) ? 0444 : 0666;
  4750. +        else
  4751. +            mode = (attrs & FILE_ATTRIBUTE_READONLY) ? 0555 : 0777;
  4752. +    }
  4753.  
  4754.      if (len >= 4 &&
  4755.          (!strcasecmp( name + len - 4, ".exe" ) || !strcasecmp( name + len - 4, ".com" )))
  4756. @@ -235,7 +244,7 @@ static struct object *create_file( struc
  4757.      access = generic_file_map_access( access );
  4758.  
  4759.      /* FIXME: should set error to STATUS_OBJECT_NAME_COLLISION if file existed before */
  4760. -    fd = open_fd( root, name, flags | O_NONBLOCK | O_LARGEFILE, &mode, access, sharing, options );
  4761. +    fd = open_fd( root, name, flags | O_NONBLOCK | O_LARGEFILE, &mode, access, sharing, options, sd );
  4762.      if (!fd) goto done;
  4763.  
  4764.      if (S_ISDIR(mode))
  4765. @@ -430,9 +439,169 @@ struct security_descriptor *mode_to_sd(
  4766.      return sd;
  4767.  }
  4768.  
  4769. +struct security_descriptor *get_file_acls( int fd, const SID *user, const SID *group )
  4770. +{
  4771. +#ifdef HAVE_ATTR_XATTR_H
  4772. +    int ace_count = 0, dacl_size = sizeof(ACL), i, n;
  4773. +    char buffer[XATTR_SIZE_MAX], *p = buffer, *pn;
  4774. +    struct security_descriptor *sd;
  4775. +    ACE_HEADER *current_ace;
  4776. +    ACCESS_ALLOWED_ACE *aaa;
  4777. +    ACCESS_DENIED_ACE *ada;
  4778. +    int type, flags, mask;
  4779. +    ACL *dacl;
  4780. +    char *ptr;
  4781. +
  4782. +    n = fgetxattr( fd, "user.wine.acl", buffer, sizeof(buffer) );
  4783. +    if (n == -1) return NULL;
  4784. +    buffer[n] = 0;
  4785. +
  4786. +    do
  4787. +    {
  4788. +        int sub_authority_count = 0;
  4789. +
  4790. +        pn = strchr(p, ';');
  4791. +        if (pn) pn++;
  4792. +        sscanf(p, "%x", &type);
  4793. +        do
  4794. +        {
  4795. +            p = strchr(p, '-');
  4796. +            if (p) p++;
  4797. +            sub_authority_count++;
  4798. +        }
  4799. +        while(p && (!pn || p < pn));
  4800. +        sub_authority_count -= 3; /* Revision and IdentifierAuthority don't count */
  4801. +
  4802. +        switch (type)
  4803. +        {
  4804. +            case ACCESS_DENIED_ACE_TYPE:
  4805. +                dacl_size += FIELD_OFFSET(ACCESS_DENIED_ACE, SidStart) +
  4806. +                             FIELD_OFFSET(SID, SubAuthority[sub_authority_count]);
  4807. +                break;
  4808. +            case ACCESS_ALLOWED_ACE_TYPE:
  4809. +                dacl_size += FIELD_OFFSET(ACCESS_ALLOWED_ACE, SidStart) +
  4810. +                             FIELD_OFFSET(SID, SubAuthority[sub_authority_count]);
  4811. +                break;
  4812. +            default:
  4813. +                continue;
  4814. +        }
  4815. +        ace_count++;
  4816. +        p = pn;
  4817. +    }
  4818. +    while(p);
  4819. +
  4820. +    sd = mem_alloc( sizeof(struct security_descriptor) +
  4821. +                    FIELD_OFFSET(SID, SubAuthority[user->SubAuthorityCount]) +
  4822. +                    FIELD_OFFSET(SID, SubAuthority[group->SubAuthorityCount]) +
  4823. +                    dacl_size );
  4824. +
  4825. +    sd->control = SE_DACL_PRESENT;
  4826. +    sd->owner_len = FIELD_OFFSET(SID, SubAuthority[user->SubAuthorityCount]);
  4827. +    sd->group_len = FIELD_OFFSET(SID, SubAuthority[group->SubAuthorityCount]);
  4828. +    sd->sacl_len = 0;
  4829. +    sd->dacl_len = dacl_size;
  4830. +
  4831. +    ptr = (char *)(sd + 1);
  4832. +    memcpy( ptr, user, sd->owner_len );
  4833. +    ptr += sd->owner_len;
  4834. +    memcpy( ptr, group, sd->group_len );
  4835. +    ptr += sd->group_len;
  4836. +
  4837. +    dacl = (ACL *)ptr;
  4838. +    dacl->AclRevision = ACL_REVISION;
  4839. +    dacl->Sbz1 = 0;
  4840. +    dacl->AclSize = dacl_size;
  4841. +    dacl->AceCount = ace_count;
  4842. +    dacl->Sbz2 = 0;
  4843. +    aaa = (ACCESS_ALLOWED_ACE *)(dacl + 1);
  4844. +    current_ace = &aaa->Header;
  4845. +
  4846. +    p = buffer;
  4847. +    for(i=0; i<ace_count; i++)
  4848. +    {
  4849. +        char b[sizeof(SID) + sizeof(ULONG) * SID_MAX_SUB_AUTHORITIES];
  4850. +        int sub_authority_count = 0;
  4851. +        SID *sid = (SID *)&b[0];
  4852. +        char sidtxt[100];
  4853. +        int rev, ia, sa;
  4854. +
  4855. +        if (i != 0)
  4856. +        {
  4857. +            aaa = (ACCESS_ALLOWED_ACE *)ace_next( current_ace );
  4858. +            current_ace = &aaa->Header;
  4859. +        }
  4860. +        pn = strchr(p, ';');
  4861. +        if (pn) pn++;
  4862. +        sscanf(p, "%x,%x,%x,%[^;]", &type, &flags, &mask, sidtxt);
  4863. +        sscanf(sidtxt, "S-%u-%d", &rev, &ia);
  4864. +        sid->Revision = rev;
  4865. +        sid->IdentifierAuthority.Value[0] = 0;
  4866. +        sid->IdentifierAuthority.Value[1] = 0;
  4867. +        sid->IdentifierAuthority.Value[2] = HIBYTE(HIWORD(ia));
  4868. +        sid->IdentifierAuthority.Value[3] = LOBYTE(HIWORD(ia));
  4869. +        sid->IdentifierAuthority.Value[4] = HIBYTE(LOWORD(ia));
  4870. +        sid->IdentifierAuthority.Value[5] = LOBYTE(LOWORD(ia));
  4871. +        p = strchr(sidtxt, '-')+1;
  4872. +        p = strchr(p, '-')+1; /* Revision doesn't count */
  4873. +        p = strchr(p, '-')+1; /* IdentifierAuthority doesn't count */
  4874. +        do
  4875. +        {
  4876. +            sscanf(p, "%u", &sa);
  4877. +            sid->SubAuthority[sub_authority_count] = sa;
  4878. +            p = strchr(p, '-');
  4879. +            if (p) p++;
  4880. +            sub_authority_count++;
  4881. +        }
  4882. +        while(p);
  4883. +        sid->SubAuthorityCount = sub_authority_count;
  4884. +
  4885. +        /* Convert generic rights into standard access rights */
  4886. +        if (mask & GENERIC_ALL)
  4887. +            mask |= WRITE_DAC | WRITE_OWNER | DELETE | FILE_DELETE_CHILD;
  4888. +        if (mask & (GENERIC_ALL|GENERIC_READ))
  4889. +            mask |= FILE_GENERIC_READ;
  4890. +        if (mask & (GENERIC_ALL|GENERIC_WRITE))
  4891. +            mask |= FILE_GENERIC_WRITE;
  4892. +        if (mask & (GENERIC_ALL|GENERIC_EXECUTE))
  4893. +            mask |= FILE_GENERIC_EXECUTE;
  4894. +        mask &= 0x0FFFFFFF;
  4895. +
  4896. +        /* Handle the specific ACE */
  4897. +        switch (type)
  4898. +        {
  4899. +            case ACCESS_DENIED_ACE_TYPE:
  4900. +                ada = (ACCESS_DENIED_ACE *)aaa;
  4901. +                ada->Header.AceType  = type;
  4902. +                ada->Header.AceFlags = flags;
  4903. +                ada->Header.AceSize  = FIELD_OFFSET(ACCESS_DENIED_ACE, SidStart) +
  4904. +                                       FIELD_OFFSET(SID, SubAuthority[sid->SubAuthorityCount]);
  4905. +                ada->Mask            = mask;
  4906. +                memcpy( &ada->SidStart, sid, FIELD_OFFSET(SID, SubAuthority[sid->SubAuthorityCount]) );
  4907. +                break;
  4908. +            case ACCESS_ALLOWED_ACE_TYPE:
  4909. +                aaa->Header.AceType  = type;
  4910. +                aaa->Header.AceFlags = flags;
  4911. +                aaa->Header.AceSize  = FIELD_OFFSET(ACCESS_ALLOWED_ACE, SidStart) +
  4912. +                                       FIELD_OFFSET(SID, SubAuthority[sid->SubAuthorityCount]);
  4913. +                aaa->Mask            = mask;
  4914. +                memcpy( &aaa->SidStart, sid, FIELD_OFFSET(SID, SubAuthority[sid->SubAuthorityCount]) );
  4915. +                break;
  4916. +            default:
  4917. +                continue;
  4918. +        }
  4919. +        p = pn;
  4920. +    }
  4921. +
  4922. +    return sd;
  4923. +#else
  4924. +    return NULL;
  4925. +#endif
  4926. +}
  4927. +
  4928.  static struct security_descriptor *file_get_sd( struct object *obj )
  4929.  {
  4930.      struct file *file = (struct file *)obj;
  4931. +    const SID *user, *group;
  4932.      struct stat st;
  4933.      int unix_fd;
  4934.      struct security_descriptor *sd;
  4935. @@ -449,9 +618,11 @@ static struct security_descriptor *file_
  4936.          (st.st_uid == file->uid))
  4937.          return obj->sd;
  4938.  
  4939. -    sd = mode_to_sd( st.st_mode,
  4940. -                     security_unix_uid_to_sid( st.st_uid ),
  4941. -                     token_get_primary_group( current->process->token ));
  4942. +    user = security_unix_uid_to_sid( st.st_uid );
  4943. +    group = token_get_primary_group( current->process->token );
  4944. +    sd = get_file_acls( unix_fd, user, group );
  4945. +    if (!sd)
  4946. +        sd = mode_to_sd( st.st_mode, user, group);
  4947.      if (!sd) return obj->sd;
  4948.  
  4949.      file->mode = st.st_mode;
  4950. @@ -581,6 +752,8 @@ static int file_set_sd( struct object *o
  4951.          mode = st.st_mode & (S_ISUID|S_ISGID|S_ISVTX);
  4952.          mode |= sd_to_mode( sd, owner );
  4953.  
  4954. +        set_file_acls( unix_fd, sd );
  4955. +
  4956.          if (((st.st_mode ^ mode) & (S_IRWXU|S_IRWXG|S_IRWXO)) && fchmod( unix_fd, mode ) == -1)
  4957.          {
  4958.              file_set_error();
  4959. diff -rupN wine-1.5.19/server/file.h wine-silverlight-1.5.19/server/file.h
  4960. --- wine-1.5.19/server/file.h   2012-12-07 11:17:32.000000000 -0800
  4961. +++ wine-silverlight-1.5.19/server/file.h       2012-12-20 18:16:39.789547898 -0800
  4962. @@ -56,7 +56,8 @@ extern struct fd *alloc_pseudo_fd( const
  4963.                                     unsigned int options );
  4964.  extern void set_no_fd_status( struct fd *fd, unsigned int status );
  4965.  extern struct fd *open_fd( struct fd *root, const char *name, int flags, mode_t *mode,
  4966. -                           unsigned int access, unsigned int sharing, unsigned int options );
  4967. +                           unsigned int access, unsigned int sharing, unsigned int options,
  4968. +                           const struct security_descriptor *sd );
  4969.  extern struct fd *create_anonymous_fd( const struct fd_ops *fd_user_ops,
  4970.                                         int unix_fd, struct object *user, unsigned int options );
  4971.  extern struct fd *dup_fd_object( struct fd *orig, unsigned int access, unsigned int sharing,
  4972. @@ -122,6 +123,8 @@ extern struct file *create_file_for_fd_o
  4973.  extern void file_set_error(void);
  4974.  extern struct security_descriptor *mode_to_sd( mode_t mode, const SID *user, const SID *group );
  4975.  extern mode_t sd_to_mode( const struct security_descriptor *sd, const SID *owner );
  4976. +extern void set_file_acls( int fd, const struct security_descriptor *sd );
  4977. +extern struct security_descriptor *get_file_acls( int fd, const SID *user, const SID *group );
  4978.  
  4979.  /* file mapping functions */
  4980.  
  4981. diff -rupN wine-1.5.19/tools/wineprefixcreate.man wine-silverlight-1.5.19/tools/wineprefixcreate.man
  4982. --- wine-1.5.19/tools/wineprefixcreate.man      1969-12-31 16:00:00.000000000 -0800
  4983. +++ wine-silverlight-1.5.19/tools/wineprefixcreate.man  2012-12-20 18:16:39.806213462 -0800
  4984. @@ -0,0 +1,82 @@
  4985. +.\" -*- nroff -*-
  4986. +.TH WINEPREFIXCREATE 1 "August 2006" "Wine 1.1.35" "Windows on Unix"
  4987. +.SH NAME
  4988. +wineprefixcreate \- create or update the Wine configuration
  4989. +.SH SYNOPSIS
  4990. +.BI wineprefixcreate\  [options]
  4991. +.SH DESCRIPTION
  4992. +.B wineprefixcreate
  4993. +creates or updates a Wine configuration directory.  When running Wine,
  4994. +the base name of the configuration directory is specified in the
  4995. +WINEPREFIX variable, hence the name of this tool.
  4996. +.PP
  4997. +.B wineprefixcreate
  4998. +is launched automatically by
  4999. +.B wine(1)
  5000. +if you don't have an existing configuration. However, it can sometimes
  5001. +be useful to run it explicitly to create a different directory, or
  5002. +update an existing one.
  5003. +.SH OPTIONS
  5004. +.TP
  5005. +.BI \--prefix\  directory
  5006. +Create the specified directory (or update it if it exists already). If
  5007. +this option is not specified,
  5008. +.B wineprefixcreate
  5009. +defaults to the
  5010. +.I WINEPREFIX
  5011. +environment variable, or to
  5012. +.I $HOME/.wine
  5013. +if not set.
  5014. +.TP
  5015. +.B \-h, \--help
  5016. +Display a usage message.
  5017. +.TP
  5018. +.B \-q, \--quiet
  5019. +Don't display any status messages.
  5020. +.TP
  5021. +.B \-w, \--wait
  5022. +Wait for
  5023. +.B wineserver
  5024. +to save everything before returning. This is necessary for instance if
  5025. +you are planning to rename the directory once created; otherwise a
  5026. +running server could still try to access the directory under its old
  5027. +name.
  5028. +.SH ENVIRONMENT VARIABLES
  5029. +.TP
  5030. +.I WINEPREFIX
  5031. +If set, the content of this variable is taken as the name of the directory where
  5032. +.B wineprefixcreate
  5033. +stores its data (the default is \fI$HOME/.wine\fR). All
  5034. +.B wine
  5035. +processes using the same prefix share certain things like registry,
  5036. +shared memory and kernel objects.  By setting
  5037. +.I WINEPREFIX
  5038. +to different values for different Wine processes, it is possible to
  5039. +run a number of truly independent Wine sessions.
  5040. +.SH FILES
  5041. +.TP
  5042. +.B ~/.wine
  5043. +Default location for the
  5044. +.B wine
  5045. +configuration data.
  5046. +.SH AUTHORS
  5047. +Many people have contributed to the development of Wine. Please check
  5048. +the file Changelog in the Wine distribution for the complete details.
  5049. +.SH BUGS
  5050. +If you find a bug, please submit a bug report at
  5051. +.UR http://bugs.winehq.org
  5052. +.B http://bugs.winehq.org.
  5053. +.UE
  5054. +.SH AVAILABILITY
  5055. +.B wineprefixcreate
  5056. +is part of the Wine distribution, which is available through WineHQ,
  5057. +the Wine development headquarters, at
  5058. +.UR http://www.winehq.org/
  5059. +.B http://www.winehq.org/.
  5060. +.UE
  5061. +.br
  5062. +It is distributed under the terms of the GNU Lesser General Public
  5063. +License.
  5064. +.SH "SEE ALSO"
  5065. +.BR wine (1),
  5066. +.BR wineserver (1).